jQuery 자동 완성 플러그인의 데이터 소스
-
10-07-2019 - |
문제
간단한 검색 양식을 위해 jQuery의 자동 완성 플러그인을 사용하고 있습니다. Auto-Complete를 사용하여 JSON 객체 데이터를 배열로 변환하는 데 어려움이 있습니다.
내 코드 :
var listOfOrderedByNames = getAutocompleteData();
$('#OrderedBy').autocomplete(listOfOrderedByNames);
function getAutocompleteData() {
var output;
$.getJSON('AJAX/GetOrderedByNames', function(data) {
$.each(data, function(index, optionData) {
output += optionData + "|";
});
});
return output;
}
반환 된 JSON 데이터는 다음과 같습니다.
["Jimmy","John", "Etc",null]
어떤 이유로 내가 그로부터 돌아 오는 것 같아 getAutocompleteData
기능은 빈 문자열이며 무엇이 잘못되었는지 모르겠습니다.
도와주세요!
해결책
왜냐하면 $.getJSON
비동기입니다. 요청을 보내 자마자 기능 getAutocompleteData()
계속 실행하여 아무것도 반환합니다.
GetJson 메소드에 전달하는 콜백 함수의 모든 것을 동봉해야합니다.
var output;
$.getJSON('AJAX/GetOrderedByNames', function(data) {
var output = "";
$.each(data, function(index, optionData) {
output += optionData + "|";
});
$('#OrderedBy').autocomplete(output);
});
다른 팁
변경해보십시오 var ouput;
라인으로 var output = '';
제휴하지 않습니다 StackOverflow