我有多个<select/>
要同步的标签,以便在更改一个标签时,它们都会更改。它们都是 jquery 移动页面的导航栏标题的一部分。我的选择器是这样的: $("header select")
.
我连接了这样的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
及其内部代码,则<select/>
仅在第一次更改后更新文本。之后,事件被正确触发并且所有传递的值都是正确的,但文本永远不会更新(显示正确选择的选项)。
如果我取出try/catch
并离开statusselect.selectmenu("refresh")
,则会引发异常,说明对象尚未初始化。
所以我摸不着头脑:为什么我需要抛出异常才能<select/>
更改其文本?<select/>
是否因为不在视图中的 s 引发了异常?