【问题标题】:jQuery Mobile reset dropdown formjQuery Mobile 重置下拉表单
【发布时间】:2012-08-12 12:36:03
【问题描述】:

我正在尝试在我的表单上设置一个重置按钮。

代码有效,但不会刷新下拉表单。所以它的值为 0,但它不显示它的新值。

我该如何解决这个问题?

<script>
$('#btn-reset').live('click', function() {
$("select#Wiel").selectedIndex = 0;  //this works
    $("select#Wiel").selectmenu({'refresh': true});   /this doesn't work
});
</script>

【问题讨论】:

  • 附带说明,不要使用live()live() 有很多问题,请参阅文档以了解缺点和问题 (api.jquery.com/live)。从 jQuery 1.7 开始,on() 是绑定到动态/静态元素的首选方法。如果您使用的是旧版本,请使用 delegate() 进行动态绑定,使用 bind().click() 进行静态绑定。

标签: jquery forms jquery-mobile


【解决方案1】:
$("select#Wiel").selectedIndex = 0;  // this works

不行,因为jQuery对象没有selectedIndex属性,你应该先将jQuery对象转换为DOM对象:

$("select#Wiel")[0].selectedIndex = 0;  // this does work

或:

document.getElementById('Wiel').selectedIndex = 0;

【讨论】:

  • +1 用于指出 jQuery 对象并显示仅使用 jQuery 的替代方案。虽然我会建议 OP 坚持使用 jQuery,如果它与纯 JavaScript 混合使用可能只会让人感到困惑。
  • @FrançoisWahl 谢谢,你总是乐于助人和建设性的 cmets,非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 2013-09-23
相关资源
最近更新 更多