我第一次选择下拉第一个值时遇到问题。当下拉选项滑动到选择时,默认情况下将选择第一个值,其中我无法选择第一个值。我正在使用JQuery移动框架,我正在编写自定义JS来更改下拉列表。我只需使用自定义JS处理此下拉列表,并且由于我的项目存在其他问题,无法使下拉列表与此自定义逻辑一起使用。
这里的首要价值是指美国'从下拉列表
非常感谢这个问题的解决方案。提前谢谢。
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)
查看此JSFiddle
差异制造者正在修改:
$(this).find('option').removeAttr('selected');
分为:
$(this).find('option:not(:selected)').removeAttr('selected');
当&#39;改变&#39;触发后,所选属性将添加到新选项中,因此即使是新选项,您也会将其从所有内容中删除。这就是选项从未改变的原因。
使用:not(:selected)会派上用场,因为它只会删除当前所选选项中的属性。