2011-01-24 8 views
19

Mam wiele opcji w moim dropdownlist takich jak:Ustaw wartość domyślną w dropdownlist przy użyciu jQuery

<option value="1">it's me</option> 

muszę wybrać opcję, którzy mają wartość to ja wewnątrz znacznika, a nie przez atrybutu jak 1.

Jak mogę to zrobić za pomocą jQuery?

+0

Więc chcę, aby je zaznaczyć poprzez 'It'sMe' wartości. ale bardzo niewielu z nas próbuje z tym zrobić. Ale wszystkim dziękuję! –

+0

$ ("# myCombobox option [text = 'it \' s me ']"). Attr ("selected", "selected"); –

+0

http://stackoverflow.com/questions/292615/how-can-i-set-the-value-of-a-dropdownlist-using-jquery Spróbuj tego .. – Clyde

Odpowiedz

59

jeśli chce użyć jQuery do tego, spróbuj poniższy kod.

$('select option[value="1"]').attr("selected",true); 

Aktualizacja:

Po komentarzu od Vivek, słusznie zauważył Steven Spielberg chciał, aby wybrać opcję poprzez swoją wartość tekstową.

Poniżej znajduje się zaktualizowany kod.

$('select option:contains("it\'s me")').prop('selected',true); 

Trzeba użyć przełącznika :contains(text) znaleźć poprzez zawierającej tekst.

Również jQuery prop oferuje lepszą obsługę programu Internet Explorer podczas pobierania i ustawiania atrybutów.

A working example on JSFiddle

+1

selected = "selected" jest również ważny, i jest to, co jest zasugerowane na [W3Schools] (http://www.w3schools.com/TAGS/tag_option.asp). +1 – jmort253

+5

'$ ('select'). Val (" coś ")' wszystko, co jest wymagane. – karim79

+2

@ halfcube - zgodnie z pytaniem steven spielberg chce wybrać te opcje, których tekstem jest "to ja", a nie wartością – Vivek

0

to działa dobrze:

$('#country').val($("#country option:contains('It\'s Me')").val()); 
+0

Will nie stosowanie podwójne cudzysłowy wewnątrz podwójnego cudzysłowu stwarzają problemy? – jmort253

0

Jedna linia jQuery to wszystko!

$("#myCombobox option[text='it\'s me']").attr("selected","selected"); 
+0

Czy nie będziesz mieć problemów z cytatami w cytatach? W jaki sposób JQuery będzie wiedzieć, co się dzieje, jeśli twoje wewnętrzne podwójne cudzysłowy nie zostaną usunięte? Być może czegoś tutaj brakuje? – jmort253

+0

@ jmort253 - jeśli jesteś konsekwentny, możesz mieszać pojedyncze i podwójne cudzysłowy, pod warunkiem, że użyjesz jednego z nich do oznaczenia zewnętrznego ciągu znaków, a drugiego do wewnętrznego użycia w ciągu znaków. Na przykład. "To jest poprawne" "" :) "i" To jest nieprawidłowe "" ":(". –

4

val() powinna obsługiwać oba przypadki

<option value="1">it's me</option>  


$('select').val('1'); // selects "it's me" 

$('select').val("it's me"); // also selects "it's me" 
+3

Ta odpowiedź jest kopiowana z http://stackoverflow.com/questions/496052/jquery-setting-the-selected-value- of-a-select-control-via-its-text-description i nie odpowiada na pytanie, o które pyta Steven –

+0

Mark, $ ('select'). val ("Two"), rozwiąże problem ... co jeszcze Steven zapytał? –

+0

Nie jestem pewien, czy mogę wymyślić sytuację, w której chcesz ustawić wszystkie zaznaczenia do określonej wartości? :-) Z wyjątkiem "0", może ... – Hogsmill

1
jQuery("select#cboDays option[value='Wednesday']").attr("selected", "selected"); 
22

można po prostu to zrobić:

$('#myCombobox').val(1) 
2
$("#dropdownList option[text='it\'s me']").attr("selected","selected"); 
+0

Pojedynczy cytat w * to ja * potrzebuje ucieczki. –

+0

dzięki za wskazanie tego. – Vivek

0
$('#userZipFiles option').prop('selected', function() { 
     return this.defaultSelected; 
    });  
+0

To jest najprostszy sposób na uzyskanie domyślnych opcji w polu wyboru – Franco

Powiązane problemy