2016-04-06 14 views
0

最初にドロップダウンの最初の値を選択したときに問題が発生しました。ドロップダウンオプションでスライダダウンを選択すると、最初の値がデフォルトで選択され、bcozの最初の値は選択できません。私はJQueryのモバイルフレームワークを使用しています。カスタムJSを書いてドロップダウンを変更しています。私はカスタムJSを使用してこのドロップダウンを処理する必要があり、私のプロジェクトでいくつかの他の問題のために、このカスタムロジックでドロップダウンを行うことはできません。ドロップダウンJQuery Mobileのカスタムドロップダウンの問題

から「米」として、この問題の解決策を参照ここで

最初の値イムは本当にいただければ幸いです。前もって感謝します。

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

私は質問を理解していない、あなたは以前に選択されたオプションを保持したいですか?または、オプションが選択されたら、無効にしますか? –

+0

@JeramiahHarland ....最初はドロップダウンから米国を選択することができますが、NZやAUのような他の値に変更すると、最初の値をUSのように戻したい場合は選択されません – Manju

答えて

0

チェックアウトこのJSFiddle

違いメーカーが変更された:

の中へ
$(this).find('option').removeAttr('selected'); 

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

「変更」がトリガされたときは、選択した属性は、新しいオプションに追加されるので、あなたが離れても、新しい選択すべてからそれを除去されました。それがオプションが決して変更されなかった理由です。

を使用していません:(選択されていない)は、現在選択されているオプション以外のものから属性を取り除くため、便利です。

関連する問題