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"} );

一切正常,希望对其他人有所帮助。