簡體   English   中英

select2不顯示從ajax收到的結果

[英]select2 does not show the results received from ajax

錯誤在哪里?

我的select2框沒有顯示從ajax調用收到的結果,它說 - 無法加載結果。

這是我的代碼:

HTML:

<select class="airportList form-control" name="From_1"> 
 <option disabled selected>Going from</option>
</select>

JS:

$(function() {
  $(".airportList").select2({
    minimumInputLength: 1,
    // data: [{id:'ADL',text:'Adelaide, Australia, ADL'},{id:'MEL',text:'Melbourne, Australia, MEL'}],
    ajax: {
      type: "GET",
      url: "data.php",
      dataType: 'json',
      delay: 250,
      data: function (params) {
        return {
          q: params.term, // search term
          page: params.page
        };
      },
      processResults: function (data) {
        return {
          results: data
        };
      }
    }
  });
});

data.php(我收到):

[
{id:'ADL',text:'Adelaide, Australia, ADL'},
{id:'MEL',text:'Melbourne, Australia, MEL'}
]

對不起,這是一個更新的答案:

processResults: function(data) {
  return {
    results: $.map(data, function(obj) {
      return {
        id: obj.id,
        text: obj.text
      };
    })
  };
}

這部分是我認為的問題所在。 看到這個例子: http//jsfiddle.net/jes0wrka/

所以在我的情況下的問題是data.php文件中的JSON格式是INCORRECT !!!:

[
{id:'ADL',text:'Adelaide, Australia, ADL'},
{id:'MEL',text:'Melbourne, Australia, MEL'}
]

CORRECT JSON應該是:

[
{"id":"ADL","text":"Adelaide, Australia, ADL"},
{"id":"MEL","text":"Melbourne, Australia, MEL"}
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM