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