ajax 呼び出しでメソッド initSelection を設定する際に問題があり、「未定義」を返します。確認したところ、ajax 呼び出しは正しい結果を返しました。コールバック メソッドを設定して、「プリセット値」を確実に選択する方法がわかりません。
function mediaFormatResult(media) {
var markup = "<div class='media-title'>" + media.name + ", " + media.prov + " (" + media.region + ")</div>";
return markup;
}
function mediaFormatSelection(media) {
return media.name +", " + media.prov + " (" + media.region + ")";
}
$field = $('#comune');
$($field).select2({
placeholder: "Seleziona il tuo comune",
minimumInputLength: 3,
initSelection: function(element, callback) {
return $.ajax({
type: "POST",
url: "myurl",
dataType: 'json',
data: { id: (element.val())},
success: function(data){
//results: data.results;
}
}).done(function(data) {
//console.log(data);
callback(data);
});
},
ajax: {
quietMillis: 100,
url: "myurl",
dataType: 'json',
type: 'POST',
data: function (term, page) {
return {
q: term,
page_limit: 10
};
},
results: function (data, page) {
return {results: data.results};
}
},
formatResult: mediaFormatResult,
formatSelection: mediaFormatSelection,
formatNoMatches: function () { return "Nessun risultato trovato!";},
formatSearching: function () { return "Ricerco.."; },
formatInputTooShort: function(input, min) {return "Inserire "+ (min - input.length) + " caratteri.";},
dropdownCssClass: "bigdrop",
});
何かがおかしい?