我正在尝试在JQuery mobile的选择菜单中设置默认选择。文档有这个:
var myselect = $("select#foo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");
我在创建菜单的地方添加了,但是当我运行代码时出现此错误:
throw“在初始化之前无法调用”+ name +“上的方法;”+ “试图调用方法'”+选项+“'”;
此时不知道该怎么做......
答案 0 :(得分:7)
您正在尝试使用尚未加载的javascript来操作DOM对象。将javascript移动到您尝试操作的表单之后,或者将您的代码更多地移动到在文档加载时执行的函数中。
例如:
$('#PAGE').live('pagecreate',function(event){
var myselect = $("select#foo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");
});
其中PAGE
是您要加载的页面的ID,其中包含您要操作的菜单。
编辑:
我根据jinyuan关于JQuery Mobile events的评论更新了示例以使用JQuery Mobile pagecreate事件。
答案 1 :(得分:2)
作为jQuery函数:
$.fn.jqmSelectedIndex = function(index){
var self = $(this)
self
.prop('selectedIndex', index)
.selectmenu("refresh");
return self;
}
$("select#foo").jqmSelectedIndex(3);
这未经过验证但有效。
答案 2 :(得分:1)
它有效。也许你可能想提供更多细节。