Beim Rendern der Seite wird val()
einer Mehrfachauswahl mit einem einzelnen Wert festgelegt. Beispiel: $("#my_select_box").val(1);
Dann wählt der Benutzer einen zusätzlichen Wert in der Mehrfachauswahlbox aus.
Wenn das Formular gesendet wird, wird nur der neu ausgewählte Wert gesendet und nicht der zuvor festgelegte Wert. Während beim Debuggen in Firefox die Funktion .val()
ein Array von zwei Werten zurückgibt (sowohl den vorherigen als auch den neu ausgewählten). Warum passiert das?
Wenn Sie in PHP programmieren, liegt das Problem dort. Wenn Sie Multiselect-Eingaben verwenden, müssen Sie nach dem eingegebenen Namen ein leeres Klammerpaar haben. Zum Beispiel:
%Vor%und nicht nur
%Vor%Wenn Sie dies nicht tun können oder wollen (vielleicht haben Sie keinen Zugriff auf den zugrunde liegenden HTML-Code), können Sie alternativ die POST-Daten folgendermaßen erfassen:
%Vor%Und Sie werden eine solche Zeichenfolge sehen, die Sie verwenden können:
%Vor%Schwer zu sagen, was ohne den Code zu tun ist.
Wenn Sie jedoch sowohl das option
, das Sie mit selected
markiert haben, als auch das andere, das ausgewählt wurde, verwenden möchten, können Sie folgendermaßen darauf zugreifen:
option[selected="selected"]
für den von Ihnen festgelegten
und
option:selected
für den vom Benutzer ausgewählten
So etwas wie das ...
%Vor%Beispiel: Ссылка
Tags und Links html jquery php form-submit multiple-select