我有多个<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 引发了异常?