複数の<select/>
タグを同期したいので、1 つが変更されるとすべてが変更されます。これらはすべて、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/>
テキストを変更するために例外をスローする必要があるのはなぜですか? ビューにない sに対して例外がスローされているため<select/>
ですか?