我有一个jQuery函数,它通过其值在HTML选择菜单中找到一个元素并选择它(see the JSFiddle here):
$(function () {
var select = $("#selectElement");
var option = $("#selectElement option:contains('SERV')");
option.attr("selected", "selected");
option.siblings('option').removeAttr('selected');
select.trigger("change");
alert($("#selectElement :selected").text());
});
HTML:
<select data-theme="a" data-overlay-theme="b" data-mini="true" data-native-menu="true" data-shadow="false" id="selectElement">
<option id="o1" value="o1v">null</option>
<option id="o2" value="o2v">MAIN</option>
<option id="o3" value="o3v">MN VL</option>
<option id="o4" value="o4v">MTRST</option>
<option id="o5" value="o5v">SERV</option>
<option id="o6" value="o6v">STA</option>
<option id="o7" value="o7v">TRANS</option>
</select>
在Windows 7中的Chrome上,此工作正常,选择已按预期更改为“SERV”。但是在iPad上的Chrome浏览器中,仍会选择下拉列表的默认值“null”,因此没有任何事情发生。
在任一平台上使用jQuery的val()
都不会做任何事情。
我认为这不像是在错误的时间加载脚本;如果我在询问select
和o
的值时发出警报,那么看起来不错。
为什么会这样?
答案 0 :(得分:0)
我完全做出了一个不同的解决方案,但我注意到这是(再次)可能是罪魁祸首:
$(function () {
...
})();
我再次忘记了那些正在关闭的括号。