2016-07-14 14 views
0

Ist es möglich, beim Schließen des Dropdown-Menüs Änderungen an den Bootstrap Muil- select-Optionen zu erkennen? Ich möchte das onDropdownHidden-Ereignis verwenden, das hier auf der Autoren-Dokumentseite dokumentiert ist: onDropDownHidden Event, damit ich sehen kann, ob der Benutzer nichts ausgewählt oder ausgewählt hat, seit das Dropdown geöffnet wurde. Nach dem Öffnen hat der Multi-Select einige vorgewählte Optionen. Ich muss (insbesondere) wissen, ob sie eine Option umgeschaltet haben (also keine Änderung an den anfänglichen Auswahlen), so dass ich entscheiden kann, ob ich eine Funktion aufrufen soll, um das Speichern der neuen Änderungen einzuleiten. Ich möchte vermeiden, diese Funktion nur nach einer einer Option aufzurufen, wenn der resultierende Zustand gleich ist. Ähnlich wie isDirty, um zu überprüfen, ob ein Steuerelement in einem Formular bearbeitet wurde - gibt es eine ähnliche Technik für Multi-select?So erkennen Sie Änderungen im Bootstrap-Multiselect

Danke.

Antwort

0

Also hat die Multiselect einen Standardwert, der festgelegt ist? Werden diese Auswahlmöglichkeiten nur beim Aktualisieren/Hinzufügen von Daten zu einer Datenbank verwendet?

Ich kann nicht wirklich sagen, ob Sie JavaScript oder PHP verwenden möchten, aber wenn Sie PHP verwenden, wäre es sinnvoll, entweder if isset($multiselectfield){} zu überprüfen?

Oder einfach, wenn es einen Standardwert hat, überprüfen Sie if ($multiselectfield != defaultvalue) {}. Wenn es nicht der Standardwert ist, dann tun Sie das, sonst muss der Standardwert in Ruhe gelassen werden.

Nur meine Gedanken, aber die Fragen sind nicht genau formuliert, um Ihnen eine angemessene Antwort geben zu können. Ich beginne es trotzdem.

+0

Bei der Initialisierung werden bei den Multiselects Optionen aus der Datenbank gelesen. Im Aktualisierung über jquery ajax '$ post()' mit den multiselect Daten serialisiert. Aktualisieren Sie dann in PHP die Tabelle. Ich denke an die folgenden Zeilen: Lies den Anfangszustand jeder Option, speichere alle Zustände und dann 'onDropdownHidden', um die Zustände zu vergleichen, wenn sich etwas geändert hat - zeige eine (vor-versteckte) Schaltfläche 'Änderungen speichern'. Ich frage mich nur, ob das notwendig ist, wenn es eine bessere Methode, Technik oder etwas Unbekanntes gibt. –

+0

Ich das ist definitiv eine Möglichkeit für Sie, es zu tun. Ich glaube aber, das 'onDropdownHidden' ist eher eine UI-Funktion als alles andere. Sie möchten immer noch ihre Werte abrufen und sehen, ob sie gesetzt sind. Daher bin ich mir nicht sicher, ob Sie den Status von 'onDrodownHidden' überprüfen müssen, aber Sie sollten die Werte für jede select selbst überprüfen müssen. Sie können die Menge begrenzen, die Sie auf dem Server haben, indem Sie bedingte Anweisungen hinzufügen und prüfen, ob sie gesetzt sind, bevor Sie den Wert aus dem POST erhalten. Das ist genau das, was ich mir vorstelle, aber es klingt als ob du auf dem richtigen Weg bist! –

Verwandte Themen