Ich verwende das select2-Multiple für das Suchfeld. Ich übergebe diese Daten mit JSON und speichere sie mit Ajax (JSON stringify).Select2 Mehrfaches Format, das an JSON übergeben werden soll.
Ich brauche nur 2 Variablen übergeben, das ist die ID (Primärschlüssel, angepasst) und die Auswahl selbst.
Ich konnte es in der Datenbank speichern, wenn nur 1 Wert ausgewählt ist.
Wenn mehrere Werte auswählen, in meinem console.log, ich sehe so etwas wie dieses
{21,23,25,26}
, die die Auswahl selbst ist.
Wie kann ich es so zeigen zu bekommen,
Object0->{id:1, selection:21}
Object1->{id:2, selection:23}
Object2->{id:3, selection:25}
Object3->{id:4, selection:26}
Unten ist der Code ich verwende,
var nature = {
ubtBusinessInfo: businessId, // the primary key
ubtBusinessListing: nature.val() // here is selection
};
Hier ist die Initialisierung des select2 ist,
nature
.select2({
allowClear: true,
placeholder: "Filter as you type",
minimumInputLength: 3,
multiple: true,
ajax: {
url: 'home/umkei/info/nature',
dataType: 'json',
quietMillis: 250,
data: function (term, page) {
return { q: term };
},
results: function (data, page) {
return { results: data };
},
cache: true
}
})
Natur ist definiert von (Ich versuchte beides wie unten)
var nature = $('[name=nature_business]') OR var nature = $(#nature_business);
Ich weiß, dass es etwas mit der Verwendung von nature.val() zu tun haben muss. Muss etwas wie Array gewesen sein, aber ich weiß nicht, wie man diese Daten als Schlüssel-> Wert-Paare unterscheidet/aufteilt.
Vielen Dank.