2016-07-14 4 views
0

ドロップダウンを閉じる際に、ブートストラップのMuiltiselctsオプションに変更があったかどうかを検出することは可能ですか?著者のドキュメントページでイベントを使用して、ドロップダウンを開いた後にユーザーが選択を解除したかどうかを確認できるようにしたいと考えています(onDropDownHidden Event)。マルチセレクトを開くと、あらかじめ選択されたオプションがいくつかあります。私は、(特に)彼らがオプションを切り替えたので(最初の選択に変更がないので)、新しい変更の保存を開始する関数を呼び出すかどうかを決定できるかどうかを知る必要があります。結果の状態が同じなら、オプションのonChangeの後にこの関数を呼び出すのは避けたいです。フォーム上のコントロールが編集されているかどうかをチェックするために使用されるisDirtyと似ています。ブートストラップマルチセレクションの変更を検出する方法

ありがとうございました。

答えて

0

multiselectにはデフォルト値が設定されていますか?これらの選択は、データベースに何かを更新/追加するときにのみ使用されるでしょうか?

JavaScriptを使用するかPHPを使用するかは、実際には分かりませんが、PHPを使用している場合は、if isset($multiselectfield){}をチェックすると意味がありますか?

単純に単純にデフォルト値がある場合は、if ($multiselectfield != defaultvalue) {}をチェックしてください。それがデフォルト値でない場合は、それを行います。そうでない場合は、デフォルト値をそのままにしておく必要があります。

ちょうど私の考えですが、質問は正確にあなたに適切な答えを与えることができないと言いました。とにかくそれを刺すだけです。

+0

マルチセレクトには、初期化時にデータベースからの読み取りとしていくつかのオプションがチェックされます。私はjquery ajax '$ post()'を使って、マルチセルデータをシリアライズして更新しています。その後、PHPで病気のテーブルを更新します。それぞれのオプションの初期状態を読み込み、すべての状態を保存し、何かが変更された場合に状態を比較する 'onDropdownHidden' - (変更前の隠し) 'Save Changes'ボタンを表示します。より良い作り付けの方法、技術、または私には分かっていないことがあれば、これが必要なのかどうかだけは疑問です。 –

+0

それは間違いなくあなたがそれを行う方法です。私は、しかし、 'onDropdownHidden'は何よりもUI機能のほうが多いと信じています。値を取得してそれらが設定されているかどうかを確認する必要があるので、 'onDrodownHidden'の状態を確認する必要はありませんが、各選択自体の値を確認する必要があります。いくつかの条件文を追加し、実際にPOSTから値を取得する前にそれらが設定されているかどうかをチェックすることで、サーバの使用量を制限できます。それは私が想像しているものですが、正しい軌道に乗っているように聞こえます! –

関連する問題