Javascript 获取.selectedIndex时出现问题,无法在JQuery Mobile framework中使用选择框
我有一系列的select Dropbox设置,内容根据前面的选择动态更新。它在系列中工作良好 当我尝试返回顶部并重新开始时,即使我尝试使用Javascript 获取.selectedIndex时出现问题,无法在JQuery Mobile framework中使用选择框,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,我有一系列的select Dropbox设置,内容根据前面的选择动态更新。它在系列中工作良好 当我尝试返回顶部并重新开始时,即使我尝试使用 my_select.selectedIndex = 0; 子选择框保持不变。我原以为这是一个Javascript错误,但发现JSFIDLE示例确实有效,但我在JQuery mobile中的代码不起作用——这让我相信这是一个与JQuery mobile相关的问题 您可以在中看到一个JSFIDLE示例 复制的步骤: 从类型中选择“套管” 从OD中选择5 将类型
my_select.selectedIndex = 0;
子选择框保持不变。我原以为这是一个Javascript错误,但发现JSFIDLE示例确实有效,但我在JQuery mobile中的代码不起作用——这让我相信这是一个与JQuery mobile相关的问题
您可以在中看到一个JSFIDLE示例
复制的步骤:
想知道为什么吗?您在jQuery Mobile背后操纵DOM,但从未告诉jQuery Mobile有任何变化 更改基础
后,需要调用:
刷新更新自定义选择
这用于更新自定义选择以反映本机选择元素的值。如果选择中的选项数与自定义菜单中的项目数不同,则将重建自定义菜单
因此,您需要添加以下内容:
$('#od').selectmenu('refresh');
在更改处理程序的底部。当然,要刷新的元素取决于您所在的更改处理程序
演示:
您的小提琴工作得很好,因为它根本没有使用jQuery Mobile
此外,在2012年,您不应该使用
onchange
属性,您正在加载jQuery,因此应该使用它将处理程序绑定到您感兴趣的事件。您可能还想用jQuery替换所有直接的DOM操作。您在jQuery Mobile背后操作DOM,但从未告诉jQuery Mobile任何更改
更改基础
后,需要调用:
刷新更新自定义选择
这用于更新自定义选择以反映本机选择元素的值。如果选择中的选项数与自定义菜单中的项目数不同,则将重建自定义菜单
因此,您需要添加以下内容:
$('#od').selectmenu('refresh');
在更改处理程序的底部。当然,要刷新的元素取决于您所在的更改处理程序
演示:
您的小提琴工作得很好,因为它根本没有使用jQuery Mobile
此外,在2012年,您不应该使用onchange
属性,您正在加载jQuery,因此应该使用它将处理程序绑定到您感兴趣的事件。您可能还想用jQuery替换所有直接DOM操作