Como pré-selecionar valores no select2 multi select?
Estou tendo uma seleção múltipla como esta:
<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>
Agora, além das opções que devem vir selecionadas na caixa de seleção, eu queria uma funcionalidade ajax adicional que daria valores a partir de uma fonte remota.
Aqui está o meu código para 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
});
});
});
Mas estou recebendo o erro:
Erro: a opção 'id' não é permitida para o Select2 quando conectado a um<select>
elemento.
Mas quando eu uso<input type="hidden">
onde devo guardar as opções pré-selecionadas? Como eu os mostro quando a caixa select2 aparece?