我有一系列选择Dropbox设置,其内容根据前面的选择动态更新。它可以很好地串联选择。
当我尝试回到顶部并重新开始时,即使我尝试使用
重置所有孩子my_select.selectedIndex = 0;
子选择框保持不变。我以为这是一个Javascript错误,但发现JSFiddle示例实际上有效,但我在JQuery mobile中的代码不起作用 - 让我相信它是一个与JQuery Mobile相关的问题
您可以在http://jsfiddle.net/vinomarky/xfcdF/
看到一个JSFiddle示例复制步骤:
JSFiddle示例表现得如此 - 将子项重置为“ - ”,而我的“实时”JQuery Mobile示例不是
关于为什么的任何想法?
答案 0 :(得分:4)
你正在操纵jQuery Mobile背后的DOM,但从未告诉jQuery Mobile任何事情发生了变化。
更改基础<select>
后,您需要致电refresh
method:
刷新更新自定义选择
这用于更新自定义选择以反映原生选择元素的值。如果选择中的选项数量与自定义菜单中的项目数量不同,则它将重建自定义菜单。
所以你需要添加这样的东西:
$('#od').selectmenu('refresh');
位于更改处理程序的底部。当然,要刷新的元素取决于您所处的变更处理程序。
演示:http://jsfiddle.net/ambiguous/n3VXe/
你的小提琴工作正常,因为它根本不使用jQuery Mobile。
另外,你不应该在2012年使用onchange
属性,你正在加载jQuery,所以你应该使用它来将处理程序绑定到你感兴趣的事件。你可能想要替换你所有的直接使用jQuery进行DOM操作。