Jquery - Ändern Sie die dynamischen dropdown-ausgewählte element
Ich habe eine dynamisch generierte Dropdown für die ich brauche, um ändern Sie den ausgewählten Wert mit Jquery.
<select class="txtfield country" id="ctl00_MainContentAreaPlaceHolder_personalInformation_country" name="ctl00$MainContentAreaPlaceHolder$personalInformation$country">
<option value="FJ">FIDJI</option>
<option value="FI">FINLANDE</option>
<option value="FR" selected="selected">FRANCE METROPOLITAINE</option>
<option value="GA">GABON</option>
</select>
Eine Möglichkeit ist die Verwendung der dropdown-gesamte-ID (auch ctl00..) :
$j("#ctl00_MainContentAreaPlaceHolder_DeliveryPersonalInformation_country option[value='FR']").attr('selected', 'selected');
Gibt es eine Möglichkeit mit CSS finde ich das element, und ändern Sie den Wert, da ich nicht lieber mit dem dynamic control ID?
EDIT :
Ich vergaß zu erwähnen, dass ich 2 benutzerdefinierte Steuerelemente auf der Seite mit dem gleichen dropdown-name.
also custom-Steuerung 1 erzeugt:
<select class="txtfield ckgcountry" id="ctl00_MainContentAreaPlaceHolder_personalInformation_country" name="ctl00$MainContentAreaPlaceHolder$personalInformation$country"> ...
<option value="ZW">ZIMBABWE</option>
</select>
- und Kunden-Control 2 erzeugt:
<select class="txtfield country" id="ctl00_MainContentAreaPlaceHolder_personalInformation_country" name="ctl00$MainContentAreaPlaceHolder$personalInformation$country">
<option value="FJ">FIDJI</option>
<option value="FI">FINLANDE</option>
<option value="FR" selected="selected">FRANCE METROPOLITAINE</option>
<option value="GA">GABON</option>
</select>
Also mit dem code, es ändert den Wert nur der erste name findet in den DOM, wie kann ich den Wert ändern, der zweite...gibt es eine Möglichkeit, dies zu tun mit CSS ?
Ich schaute auf die Bearbeitungen, die du gemacht zu deiner Frage. Keine zwei Elemente auf Ihrer Seite sollten die gleiche ID nutzen. Die IDS sollen eindeutig sein in der DOM-und sollte nie wiederholt werden. Überlegen Sie, ob Sie die zweite wählen Sie ID, um etwas anderes wie "personalInformation_country2"
InformationsquelleAutor Murtaza Mandvi | 2009-12-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie Sie mit ASP.NET.
Es ist nicht wirklich zuverlässig, so dass der volle ASP.NET Steuerelement-ID (nach dem Rendern), weil es könnte sich ändern, irgendwann. Der einzige Teil, der ID, die garantiert nicht zu ändern sind, ist der Letzte Teil der ID, die definiert wurde, in der ASP.NET Kontrolle die ID-Eigenschaft.
Wählen Sie das Element mit einem Platzhalter-Selektor
oder
Den
$='personalInformation_country'
wird mit allen ID ' s mit der Endung "personalInformation_country", das sollte nur eine!Ich schaute auf die Bearbeitungen, die du gemacht zu deiner Frage. Keine zwei Elemente auf Ihrer Seite sollten die gleiche ID nutzen. Die IDS sollen eindeutig sein in der DOM-und sollte nie wiederholt werden. Überlegen Sie, ob Sie die zweite wählen Sie ID, um etwas anderes wie "personalInformation_country2"
InformationsquelleAutor a432511
Meinst du wie diese?
Damit wird die Auswahl für alle select-Elemente mit der CSS-Klasse "Land"
Wenn Sie möchten, zu lokalisieren wählen Sie besser werden, müssen Sie die Verwendung der ID/Namen oder stellen Sie sicher es ist geschachtelt in einer Weise, die Sie können sicher sein, Sie gefunden werden kann.
z.B.
InformationsquelleAutor scunliffe
Es ist schwer zu sagen, ohne dass der rest des Markups auf der Seite, aber Sie müssen sicherstellen uniquness so bekommen Sie die richtige select-element, also die id ist in der Regel die beste Wette.
Wenn du die genaue id, da dies die beste perfrmance jedoch Sie gebeten, für Optionen, um die es hier geht.
Wenige Optionen:
$('select.txtfield')
finden Sie alle wählt mit der Klasse txtfield daher nicht eindeutig sein kann.Eine bessere Wette ist, vielleicht
$('select.txtfield.country')
was ich davon ausgehen ist einzigartig?oder ein 'hack' für webforms zu verwenden, das endet-mit dem Auswahlwerkzeug
Was du über über
InformationsquelleAutor redsquare