3

考虑以下简化的 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");
 }
});

小提琴

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

基本上,我试图限制用户在某些条件下可以选择的内容。

有没有办法从它自己的更改事件中重置选择控件上的选项,并让它在移动浏览器中工作?

4

1 回答 1

5

例如,您需要选择optionby[value=1]或给它一个类.default

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

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

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

演示 1 -演示 2

于 2013-10-08T16:21:54.117 回答