2013-09-25 2 views
2

전에 값을 추가합니다 :선택 2 어떻게 다음 선택 2가 아약스 호출

내가 드롭 다운 버튼을 누를 때 일부 값이 이미 거기에 미리로드됩니다 만들 수있는 방법
siteSelector = $('#siteSelector').select2(
{ 
    placeholder : "Select site ...", 
    ajax : { 
     type : 'GET', 
     dataType : 'json', 
     contentType : 'application/json', 
     url : {url_of_my_rest_service}, 
     data : function(term, page) { 
     return { 
      startswith : term, 
     }; 
     }, 
     results : function(data, page) { 
     var items = data.content; 
     var res = { 
      results : [] 
     }, i; 
     for (i = 0; i < items.length; i++) { 
     res.results.push({ 
      id : items[i].id, 
      text : items[i].name 
     }); 
     } 
     return res; 
    } 
}, 
minimumInputLength : 3 
}); 

?

답변

0

가장 좋은 방법은 ajax를 호출하기 전에 DOM에 데이터를 삽입하는 것입니다.

$(document).ready(function() { 
//as many as you need, using loop or manually 
$('#siteSelector').append("<option value='value1'>Value 1</option>") 
//only then start select2 using the function you wrote 
//siteSelector = $('#siteSelector').select2(...... 
}) 

내가 아는 한 select2의 데이터 속성은 ajax 호출로는 (또는 전혀) 작동하지 않습니다. 이 방법이 효과적입니다.