Wie wähle ich Werte in select2 multi select vor?
Ich habe eine Mehrfachauswahl wie folgt:
<select multiple="multiple" class="myList">
<option value="1" selected="selected">Apple</option>
<option value="2" selected="selected">Mango</option>
<option value="3" selected="selected">Orange</option>
</select>
Nun, abgesehen von den Optionen, die im Auswahlfeld ausgewählt werden müssen, wollte ich zusätzliche Ajax-Funktionen, die Werte von einer entfernten Quelle liefern.
Hier ist mein Code für select2
$(function(){
$(".myList").each(function(){
$(this).select2({
placeholder: "Search for fruits",
minimumInputLength: 2,
multiple: true,
id: function(e) {
return e.id+":"+e.name; },
ajax: {
url: "https://localhost:8443/fruit_search",
dataType: 'json',
data: function(term, page) {
return {
q: term
};
},
results: function(data, page) {
var frts=[];
$.each(data,function(idx,Frt){
frts[frts.length]=Frt;
});
return {
results: frts
};
}
},
initSelection: function(element, callback) {
var data = [];
},
formatResult: formatResult,
formatSelection: formatSelection
});
});
});
Aber ich erhalte den Fehler:
Error: Die Option 'id' ist für Select2 nicht zulässig, wenn sie an ein @ angehängt is<select>
Element
Aber wenn ich @ benut<input type="hidden">
wo soll ich dann die vorgewählten optionen aufbewahren? Wie zeige ich sie an, wenn das Feld select2 angezeigt wird?