2013-01-14 10 views
7
<select id="mySelect"> 
    <option id="sel01" value="some value">some value</option> 
    <option id="sel02" value="some other value">some other value</option> 
    <option id="sel03" value="maybe me">maybe me</option> 
    <option id="sel04" value="and another one">and another one</option> 
</select> 

Chciałbym, aby wybrać opcję z wykorzystaniem jQuery, ale nie przez wartość:jQuery - zestaw wybrać indeks elementami id

$("#mySelect").val(1); 

ale przez elementy id.

Dzięki za odpowiedź.

Odpowiedz

9

Można użyć metody prop.

var id = 'sel02'; 

$('#mySelect option').filter(function(){ 
    return this.id === id 
}).prop('selected', true); 

czyli

$('#' + id).prop('selected', true); 

Lub jeśli chcesz wybrać opcję opartą na jego indeksie, można użyć eq metody:

$('#mySelect option').eq(1).prop('selected', true); 
+0

Dziękuję bardzo. –

+0

@MarcinBobowski Serdecznie zapraszamy. – undefined

1

można pobrać wartość elementu za pomocą ID i użyj wartości dla jQuery val().

var elementId = 'sel01'; 
$("#mySelect").val($('#' + elementId).val()); 
+0

Kochaj swoją drogę, ale "niezdefiniowana" była pierwsza z jego metody. Dzięki. –

+0

@MarcinBobowski To do ciebie, aby wybrać, które rozwiązanie bardziej lubisz :) –

+0

Najlepszą rzeczą jest umiejętność uczenia się wszystkich sposobów i je zrozumieć :) –

1

Jeśli chcesz, aby wybrać opcję:

$('#mySelect option#sel02').prop('selected',true); 

jeśli chcesz uzyskać wartość opcji wybranego identyfikatora użytkownika:

$('#mySelect option#sel02').val(); 
3
var id= "sel01"; 

    $('#selectid option').each(function(){ 
     if($(this).attr('id') == id){ 
      $(this).attr('selected',true); 
     } 
    }); 
0

jak ten. Wystarczy zmienić liczbę w równaniu (0)

$("#mySelect").val($("#mySelect").children().eq(0).val()); 
1

Spróbuj składni,

$('select option:selected').attr('id'); 

check here, to wybrać opcję opartą na wartości tekstowej.

0

nie znam kontekstu, ale ten pracował dla mnie, kiedy potrzebne, aby uzyskać dane z JSON i uczynić z opcji tego konkretnego pola kombi Akcja:

$("#mySelect option[id='" + someVariable + "']").attr('selected', 'selected'); 
+0

Proszę uzupełnić kod szelki nie pasują – Ram

+0

ups, przepraszam :( – AndreSites

Powiązane problemy