複数の<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/>ですか?