4

jQuery MultiSelect Widgetを使用しています。IE を使用している場合、基本的なドロップダウンから 3 つのオプションを選択し、別のページを参照してからブラウザーの [戻る] ボタンを押すと、値がドロップダウンに保持されます。ページを更新しても、値は保持されます。強制的に更新すると、値がクリアされます。

Chrome で同じことをすると、値は保持されません。

私の Web サイト (残念ながらまだインターネット経由でアクセスできません) では、IE8 では、チェックボックスのチェック状態は視覚的に保持されているように見えますが、チェックボックスの状態はチェックされていません。

「uncheckAll」メソッドを呼び出してみましたが、チェックボックスはまだチェックされています。選択したオプションの数を表示するようにコードに警告を入れましたが、チェックボックスが選択されていても値がゼロです。

複数選択リストの状態は IE によってどのように保持されていますか? また、それを防ぐことはできますか?

4

2 に答える 2

0

multiselect プラグインの unchekAll() メソッドを呼び出すのが最も簡単な方法のようです。コードが表示されないため、正しい方法で呼び出していない可能性があります。

$("select").multiselect("uncheckAll");

しかし今、このメソッドをどこで呼び出すのでしょうか?

クロスブラウザーの一貫性のために、私が知っているように、すべてのブラウザーで起動される onbeforeunload ハンドラーを使用するのが正しい方法だと思います。したがって、このスニペットはすべての場合に機能するはずです。

window.onbeforeunload = function(){$("select").multiselect("uncheckAll")};

これで問題が解決するかどうか教えてください。

于 2013-06-02T13:05:52.480 に答える