<select>
<option value="0" id="n">n</option>
<option value="1" id="m">m</option>
</select>
W jQuery w jaki sposób ustawić opcję "wybraną" dla id = m?Użyj jQuery wybierz opcję?
<select>
<option value="0" id="n">n</option>
<option value="1" id="m">m</option>
</select>
W jQuery w jaki sposób ustawić opcję "wybraną" dla id = m?Użyj jQuery wybierz opcję?
Wystarczy ustawić atrybut selected
opcję:
$("#m").attr("selected", true);
Jeśli chcesz także usunąć zaznaczenie innych opcji, gdy robisz to najprostsza opcja:
$("#m").attr("selected", true).siblings("option").removeAttr("selected");
ta nie obejmuje przypadku jednak zestawów pól. Aby objąć to użycie, należy użyć następującego polecenia:
$("#m").attr("selected", true).closest("select")
.find("option").removeAttr("selected");
nie jest poprawnym sposobem dodawania identyfikatora dla każdej opcji w zaznaczeniu. If I were you, chciałbym zrobić tak jak poniżej
<select id="myselect">
<option value="0">n</option>
<option value="1">m</option>
</select>
Ustaw element z indeksem 1 stosując poniżej
$("#myselect option:eq(1)").attr("selected", "selected");
Ustaw identyfikator na zaznaczonym elemencie Zamiast:
<select id="TheDropDown">
<option value="0">n</option>
<option value="1">m</option>
</select>
następnie użyj funkcja val
:
$('#TheDropDown').val('1');
Genialny! Po prostu genialny! –
to nie działało dla mnie ani w FF 8.0, ani w Chrome 11.0 (ale działało .attr ('selected', true)) –
@NickPerkins: Element 'select' nie ma żadnego atrybutu' selected', więc co ja myślę, że robisz źle, to że próbujesz użyć 'val' na' opcjach' zamiast 'wybierz'. – Guffa
$("#m").addAttr('selected', true)
.siblings('option')
.removeAttr('selected');
Zgadzam się z @ koderem. Jedną z niewielkich zmian w jego kodzie jest usunięcie poprzednio wybranego wpisu. Jeśli użytkownik już wybrał opcję, a następnie chcesz ją zmienić na coś innego przy użyciu jquery (chyba że twoje pole wyboru ma atrybut "wiele" zestaw), będziesz musiał usunąć zaznaczenie opcji wyboru użytkownika.
$("#myselect option:eq(1)").attr("selected", "selected").siblings("option").removeAttr("selected");
jak podaje @cletus.
+1 Dzięki za przypomnienie mi;) –