如何以编程方式更改控件自身更改事件中的select框select,并使其在移动浏览器中可用

考虑以下简化的HTML和jQuery代码:

<select id="select1"> <option value="10">10</option> <option value="5">5</option> <option selected="selected" value="1">1</option> </select> $('#select1').change(function () { if ($('#select1').val() > 5) { $('#select1').val(1); alert("Select set to 1"); } }); 

小提琴

如果用户从select控件中select10,则从控件自己的更改事件中重置为1。 这适用于我的台式机上的浏览器,但不适用于iPhone或iPad上的Chrome或Safari。 (实际上,在移动浏览器中,select设置为1,然后返回到10)

基本上,我试图限制用户在特定条件下可以select的内容。

有没有一种方法可以从自己的更改事件中重置select控件上的选项,并使其在移动浏览器中工作?

你需要通过[value=1]selectoption ,或者给它一个类.default作为例子。

 $('#select_id').val(1); 

然后刷新.selectmenu('refresh')进行重新增强。

 $('#select_id').selectmenu('refresh'); 

演示1 – 演示2