jquery - 如何以编程方式从控件自身的更改事件中更改选择框选择并使其在移动浏览器中工作

标签 jquery html jquery-mobile

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

fiddle

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

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

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

最佳答案

您需要通过 [value=1] 选择 option 或给它一个类 .default 例如。

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

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

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

Demo 1 - Demo 2

关于jquery - 如何以编程方式从控件自身的更改事件中更改选择框选择并使其在移动浏览器中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252664/

相关文章:

javascript - 非常奇怪的 jQuery/AJAX 行为

jquery - 我如何获得图像的坐标

javascript - 有什么方法可以简化此方法吗?在 jquery 上隐藏/显示元素

php - 使用 Jquery Mobile 的数据库

jquery addclass 样式不起作用,选择器错误?

jquery - 仅更改容器中的配对或取消配对 div

javascript - 添加 "x"图标,隐藏当前打开的 Accordion

javascript - select2 通过 JavaScript 初始化

jquery 移动固定页眉/页脚不工作

javascript - Jquery mobile - 使用 pageinit 刷新复选框