2012-08-12 43 views
2

我试图在我的表单上重置按钮。jQuery Mobile重置下拉列表

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

我该如何解决这个问题?

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

请注意,不要使用live()。 'live()'有很多问题,请参阅有关缺点和问题的文档(http://api.jquery.com/live/)。从jQuery 1.7开始,on()是绑定到动态/静态元素的首选方法。如果您使用的是旧版本,则使用'delegate()'作为动态绑定,使用'bind()'或'.click()'作为静态绑定。 – Nope 2012-08-12 12:40:18

回答

1
$("select#Wiel").selectedIndex = 0; // this works 

没有它是不行的,因为jQuery对象没有selectedIndex属性,则应jQuery对象转换成DOM对象第一:

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

或:

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

+1用于指出jQuery对象并显示仅使用jQuery的替代方法。虽然我会建议OP坚持使用jQuery,如果这是用来与普通的JavaScript混合使用的话,可能会导致混淆。 – Nope 2012-08-12 12:45:00

+0

@FrançoisWahl谢谢,你总是有帮助和建设性的意见,非常感谢。 – undefined 2012-08-12 12:50:02