Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery更新多个select标记(移动)_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript 使用jquery更新多个select标记(移动)

Javascript 使用jquery更新多个select标记(移动),javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我想同步多个标记,以便在更改一个标记时,它们都会更改。它们都是jquery移动页面导航栏标题的一部分。我的选择器是:$(“标题选择”) 我像这样连接了change事件: var statusselect = $("header select"); var statusevent = function (event) { statusselect.off("change"); statusselect.val(event.target.value); statuss

我想同步多个
标记,以便在更改一个标记时,它们都会更改。它们都是jquery移动页面导航栏标题的一部分。我的选择器是:
$(“标题选择”)

我像这样连接了
change
事件:

var statusselect = $("header select");

var statusevent = function (event) {

    statusselect.off("change");

    statusselect.val(event.target.value);

    statusselect.on("change", statusevent);

    try {
        statusselect.selectmenu("refresh");
    } 
    catch(e) {

    } 
};

statusselect.on("change", statusevent);
只有当我有
try/catch
语句时,这才有效。如果我取出
try/catch
及其内部代码,
的文本仅在第一次更改后更新。之后,事件被正确激发,传递的所有值都正确,但文本永远不会更新(显示正确选择的选项)

如果我取出
try/catch
并离开
statusselect.selectmenu(“刷新”)
,则会抛出一个异常,说明对象尚未初始化


所以我留下来挠头:为什么我需要抛出一个异常才能让
更改它的文本?是因为视图中不存在的
引发了异常吗?

我想您已经回答了自己的问题,
刷新
方法用于刷新已初始化的小部件(
在本例中选择菜单
),在您的情况下,尚未对其他页面上的选择进行初始化(增强在
事件中进行),因此您需要首先对其进行初始化,您可以通过调用
.selectmenu()
手动进行初始化

好的,在pageinit事件中调用
selectmenu()
?或者之前?根据JQM文档,大多数小部件都应该基于
pageinit事件
“自动初始化”自己,所以一旦触发事件,就不需要这样做。你所发生的事情是,事件还没有触发,如果你想手动调用它,那么你可以在事件发生之前这样做,或者只是把它放在catch块中。啊,好吧,我想你是这么说的。非常感谢。