2012-11-08 13 views
7

Bir seçimim var. 10 seçenek ('bir', 'iki', 'üç', ...). Sayfayı yüklemek için ilk seçenek 'bir' seçildi. Ayar seçiminin klavye kullanımı üzerinde bir etkisi yoktur.

bir fonksiyonu içinde şimdi seçenek seçme gösterilir ve değeri de doğru ayarlanır beşte beşinci seçenek Aslında

$("myselect").val('five'); 

ayarlı.

Ancak şimdi bu seçime ulaşana kadar formumda geziniyorum. Ve şimdi klavyeden aşağı tuşunu kullanırsam, seçim 'altı' seçeneğine ve 'altı' seçeneğine atlar.

Daha sonra klavye kullanımı için de çalışan seçili bir seçenek nasıl belirlenir?

+2

Yalnızca Firefox'ta gerçekleşiyor görünüyor http://jsfiddle.net/JM2dZ/ – Musa

+0

Chrome'daki çalışmalar, ancak Firefox'ta değil. Açılır pencereye tıklamak bile yardımcı olmaz. –

+1

İşte aynı sorunla birlikte bir jQuery hatası: http://bugs.jquery.com/ticket/11488 –

cevap

5

selectedIndex özelliğini ayarlamayı deneyin.http://jsfiddle.net/kLZ7z/

başka daha iyi temizleyici bir yaklaşım

var nValue = "5"; 
$('option', '#myselect').filter(function() {   
    return this.value == nValue; 
}).prop('selected', true); 

DEMO geçerli::

$('#myselect').val("5").prop('selectedIndex', 4); 

DEMO, aşağıya bakınhttp://jsfiddle.net/kLZ7z/2/

0

biraz Tahmin ama bu deneyin: sadece seni denemek için bir fikir vermek için, denenmemiş sözde kod biraz var

$('#myselect option').each(function(){ 
    $(this).removeAttr('selected')); 
}); 
$('#myselect option').eq(4).attr('selected', 'selected'); 

.

+1

çalışmıyor (aynı zamanda Asad'ın cevaplama formu değil). - ama ne keşfettim - IE ve kromun beklediği gibi bir firefox sorunu gibi görünüyor. –

+0

@FabianKnauf: "removeAttr" satırını kullanarak deneyin. –

1

Bu bir Firefox hatasıdır. Bulduğum bir çözüm, seçimde .val kullanmak yerine .prop('selected', true) seçeneğini kullanmaktır.

$('#myselect').children('option[value="five"]').prop('selected', true); 

DEMO: http://jsfiddle.net/JM2dZ/1/

NOT: gerçekten oluyor tutmak için soruna neden olur bunu yaparken, öncelikle diğer seçenekleri selected unset gerekmez.

İlgili konular