2012-07-03 17 views
15

Hi gerek kullanarak: iDeğişim seçilen endeks Örnek .. Bir seçilen dizini değiştirmek için jquery

<select id="selector"> 
<option>No 1</option> 
<option>No 2</option> 
</select> 
<select id="selected"> 
<option>ONE</option> 
<option>TWO</option> 
</select> 

şimdi $ seçilen endeks değiştirmek istiyorum olduğunda # seçici en indeksi değiştirildi. "Hayır 2" ye değiştirdiğimde, diğer combobox "TWO" olarak değişecektir. Ben öneririm acemi soru için bana pardon ama jquery ^^

cevap

28
$('#selector').change(function() { 
    var idx = this.selectedIndex;   
    $("select#selected").prop('selectedIndex', idx); 
}); 
+0

thx yendi: 'idx 'burada' 0' veya '1' değerini tutar. '

+1

isnt bilgim bütün bu ihtiyacı bilmek için biliyorum .. bana çok hızlı – khaverim

7

yeni im:

$('#selector').change(
    function(){ 
     var index = this.selectedIndex; 
     $('#selected option').eq(index).prop('selected',true); 
    }); 

JS Fiddle demo.

Referanslar:

+0

+1
, işe yaradı :) ı (ben yaptım çünkü) bu kadar basit ama bu büyük xD – diEcho

3

jQuery bunun için gereksiz görünüyor çünkü Aynı normal JavaScript kullanarak:

document.getElementById('selector').onchange = function() { 
    document.getElementById('selected').selectedIndex = this.selectedIndex; 
} 

Working DEMO

3

1.7.2

$(document).on('change', '#selector', function(){ 
    var si = this.selectedIndex 
    $('#selected option').eq(si).prop('selected',true); 
});​ 

jQuery ile Açılır liste birden seçimleri yalnızca seçilen ilk seçeneğin endeksi dönecektir izin veriyorsa

0

selectedIndex 0.

başlar.
"-1" değeri, tüm seçenekleri (varsa) seçer.
Hiçbir seçenek seçilmezse selectedIndex özelliği -1 değerini döndürür.

$('#idselect').change(function() { 
    var index = this.selectedIndex; 
    //... 
});