2016-04-06 2 views
0

У меня возникла проблема при выборе выпадающего первого значения после его выбора в первый раз. Когда варианты выпадающего списка будут выбраны, первое значение будет выбрано по умолчанию, bcoz которого я не могу выбрать первое значение. Я использую JQuery для мобильных устройств, и я пишу пользовательский JS, чтобы изменить раскрывающийся список. Мне нужно обработать это раскрывающееся меню только с использованием пользовательской JS и не может сделать выпадающее меню с этой настраиваемой логикой из-за какой-то другой проблемы с моим проектом.JQuery Mobile custom dropdown issue

Здесь первые им значение в вид как «США» из выпадающего списка

Решения этой проблемы будет очень ценен. Заранее спасибо.

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 .... FIrst не может выбрать США из раскрывающегося списка, но когда я перехожу на другое значение, например, NZ или AU, если я хочу выбрать первое значение, например US, оно не будет выбрано – Manju

ответ

0

Заканчивать этот JSFiddle

разница мейкера изменения:

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

В:

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

Когда было вызвано «изменение», выбранный атрибут добавляются в новый вариант, так что вы зачистка его подальше от всего, даже нового выбора. Вот почему этот вариант никогда не менялся.

Использование : not (: selected) пригодится, так как он только отменит атрибут от вещей, которые не были выбраны в текущий момент.