select2 initselection 回调 ajax - 未加载默认值
select2 initselection callback ajax - not loading default value
我在我的项目中使用 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页面return这个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 没有任何初始值。
我在 Whosebug 上阅读了类似(但有所不同)的问题,但 none 提议的解决方案对我有用。
提前致谢,此致
经过一番研究,我想出了这个解决方案:
$('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"} );
一切正常,希望对其他人有所帮助。
我在我的项目中使用 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页面return这个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 没有任何初始值。 我在 Whosebug 上阅读了类似(但有所不同)的问题,但 none 提议的解决方案对我有用。
提前致谢,此致
经过一番研究,我想出了这个解决方案:
$('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"} );
一切正常,希望对其他人有所帮助。