2016-04-06 38 views
0

İlk kez seçtikten sonra açılan ilk değeri seçerek bir sorunla karşılaşıyorum. Açılır menü seçenekleri seçildiğinde, ilk değer varsayılan olarak seçilecektir, bcoz'u ilk değeri seçemiyorum. JQuery mobil framework kullanıyorum ve açılır menüyü değiştirmek için özel JS yazıyorum. Bu açılır listeyi yalnızca özel JS kullanarak işlemem gerekiyor ve projemle ilgili başka bir sorun nedeniyle bu özel mantıkla açılan işi yapamıyorum. AçılırJQuery Mobile açılır kapanışı sorunu

Bu sorunla ilgili çözüm dan 'ABD' olarak atıfta

Burada ilk değer im gerçekten takdir. Şimdiden teşekkürler.

HTML:

<select id="drpDwn"> 
    <option value="" disabled="disabled">select</option> 
    <option value="US">US</option> 
    <option value="AU">AU</option> 
    <option value="NZ">NZ</option> 
</select> 

JS:

$(document).on('change', '#drpDwn', function() { 
var index = $(this)[0].selectedIndex; 
$(this).attr('selectedIndex', index); 
$(this).find('option').removeAttr('selected'); 
$(this).find('option').eq(index).attr('selected', 'selected'); 
$(this).siblings('span').html($(this).find('option').eq(index).text()); 
}); 

http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.css

+0

Soruyu anlamıyorum, daha önce hangi seçeneğin seçildiğini korumak ister misiniz? Veya bir seçenek belirlendikten sonra, devre dışı bırakılmasını ister misiniz? –

+0

@JeramiahHarland .... FIrst, ABD'yi açılır menüden seçebilir, ancak NZ veya AU gibi başka bir değere geçtiğimde, ABD gibi ilk değeri seçmek istiyorsam, Bu seçili değil – Manju

cevap

0

Kontrol dışarı bu JSFiddle

fark yapıcı değiştirerek edildi:

$(this).find('option').removeAttr('selected'); 

içine: 'değişim' tetiklendiği zaman her şeyi hatta yeni seçim uzak sıyırma edildi yüzden

$(this).find('option:not(:selected)').removeAttr('selected'); 

, seçilen özellik, yeni seçenek eklendi. Bu yüzden seçenek hiç değişmedi.

'u kullanma: değil (: selected), o anda seçili seçenek olmayan şeylerden yalnızca özniteliğini çıkaracağından kullanışlı oldu.