2017-03-01 7 views
1

저는 AJAX에서 아주 새로 왔으며 AJAX 요청의 결과를 select2에 얻으려고합니다. AJAX를 select2와 함께 사용하려면 어떻게해야하나요?

내 HTML입니다 :

<select class="js-example-basic-single" name="Airport"><option disabled selected>Airport</option></select> 

이 내 선택 2 호입니다 :

$(function() { 
    initAirportList = function(){ 
     $(".js-example-basic-single").select2({ 
      // minimumInputLength: 2, 
      ajax: { 
      dataType: 'json', 
      type: "GET", 
      url: 'data', 
      delay: 250, 
      } 
     ,}); 
    } 

    initAirportList(); 
}); 

JSON 데이터가 여기에 있습니다 :

[ 
{id:'ADL',text:'Adelaide, Australia, ADL'}, 
{id:'MEL',text:'Melbourne, Australia, MEL'}, 
{id:'PER',text:'Perth, Australia, PER'}, 
{id:'SYD',text:'Sydney, Australia, SYD'} 
] 

내가의 코드에 무엇을 추가해야합니다 select2가 결과를 보여주기 시작합니까?

감사합니다.

답변

0

먼저 설명서를 살펴보십시오. 원격 자원에서 데이터를로드하는 방법이 설명되어 있습니다.

https://select2.github.io/examples.html#data-ajax

https://select2.github.io/options.html#ajax

내가 생각

, 당신은 초기화에서 몇 가지 옵션이 누락되었습니다. 당신은 당신의 ajax 요청에 data 옵션을 추가해야합니다 : 답장을

ajax: { 
     dataType: 'json', 
     type: "GET", 
     url: 'data', 
     delay: 250, 
     data: function (params) { 
      return { 
       q: params.term, // search term 
       page: params.page 
      }; 
     } 
+0

감사합니다! 나는이'data'와'processResults' 인자를 선언하고자하는 것을 정말로 이해하지 못합니다. 'select' 박스를 클릭하면'json' 데이터가 수신되는 것을 볼 수 있습니다. 그러나 나는 그 (것)들을 회수하는 방법을 이해하지 못합니까? 'ajax'가 없으면 셀렉트 박스가 완벽하게 작동합니다. –