次の値の入力があります。e22,e33,e35
select2
その入力で、上記のデフォルト値で初期化したいと思います。私が試してみるために使用するコードは次のとおりです。
$('input[name="postal_code"]').select2({
placeholder: 'search a postal code',
allowClear: true,
minimumInputLength: 2,
maximumSelectionSize: $maxInput,
multiple: true,
tokenSeparators: [",", " "],
createSearchChoice: function(term, data) {
if ($(data).filter(function() {
return this.text.localeCompare(term)===0;
}).length === 0) {
return {
id: term,
text: term
};
}
},
ajax: {
url: $url,
dataType: "json",
data: function(term, page) {
return {
query: term
};
},
results: function(data, page) {
console.log(data);
return {
results: data,
};
}
},
initSelection: function(element, callback) {
var data = [];
$(element.val().split(",")).each(function(i, v) {
console.log(v);
data.push({
text: v
});
});
console.log(data);
callback(data);
}
});
問題は、次のタグを持つ代わりに、初期化を選択した後の入力です: e22、e33、e35 ; e22しか持ってない
アイデアはありますか、なぜ残りが切り取られているのですか?
JSFiddle: http://jsfiddle.net/alleks/fMXxL/