我在我的项目中使用Select2,但我无法使用initselect。我需要使用默认值初始化select2。
这是js:
function format(item) { return item.text; }
var jresults;
$.getJSON("ajax_select2.php?w=programma_rpp").done(
function( data ) {
$.jresults = data;
$("#programma_rpp").select2({
placeholder: "Seleziona un opzione",
allowClear: true,
formatResult: format,
formatSelection: format,
data: $.jresults,
initSelection: function (element, callback) {
callback({id: '1', text: 'testtext' });
}
}
);
}
)
php页面返回此json:
[{"id":"1","text":"1 Programma 1 : Organizzazione E Gestione Servizi Generali"},{"id":"2","text":"2 Programma 2 : Difesa E Sicurezza Del Cittadino"},{"id":"3","text":"3 Programma 3 : Pubblica Istruzione Ed Opportunita' Culturali, Sportive E Ricreative"},{"id":"4","text":"4 Programma 4 : Tutela Dell'ambiente E Gestione Del Territorio E Del Patrimonio"},{"id":"5","text":"5 Programma 5 : Manutenzione Patrimonio Comunale, Viabilità E Trasporti"},{"id":"6","text":"6 Programma 6 : Servizi Alla Persona E Adeguamento Delle Strutture Sociali"},{"id":"7","text":"7 Programma 7 : Servizi Produttivi Ed Interventi Nel Campo Dello Sviluppo Economico"},{"id":"8","text":"8 Programma 8 : Programma Degli Investimenti"}]
我在firebug中没有错误但是select2没有任何初始值。 我在stackoverflow上读了类似的(但不一定的)问题但是没有提出的解决方案适用于我。
提前谢谢,亲切的问候
答案 0 :(得分:0)
经过一番研究后,我想出了这个解决方案:
$('programma_rpp').select2({
placeholder: 'Seleziona..',
minimumInputLength: 0,
allowClear: true,
multiple: false,
ajax: { // instead of writing the function to execute the request we use Select2's convenient helper
url: 'ajax_select2.php?w=programma_rpp',
dataType: 'json',
data: function (term) {
return { q: term }; //search term
},
results: function (data) {
return { results: data};
}
},
});
初始化值我使用此
$('#programma_rpp').select2("data", {"id":"1","text":"1 Programma 1 : Organizzazione E Gestione Servizi Generali"} );
一切正常,我希望它可以帮助别人。