jquery 자동 완료가 필요합니다. 서버에 대한 호출을 한 번만 수행 한 다음 로컬로 저장하고 반환 된 배열을 jqgrid의 후속 호출에서 사용합니다. 그것은 자동 채우기를 위해 그리드 바깥에서도 작동합니다. 내가 내 온로드에서 JQuery와 기능이 있습니다jquery를 사용하여 javascript 클로저를 사용하는 자동 완성
$('#text').myAutocomplete({url:'...'});
그리고있는 jqGrid에서 또 하나 - 아래의 dataInit가 나는 ASP를 사용하고 다른 방법 수정 autocmpleted 할 텍스트 상자 인수를/사용하는 콜백입니다. 인터넷 웹 따라서 서비스 내 자동 완성 기능에서
$('#table').jqGrid({
...,
colModel:[...,
name:'col1',...,dataInit:function(el){
$.myAutocomplete({url:'..',elem:el});
}
...],
...
});
다음 내 아약스 호출에서 msg.d :
(function($){
var returnArray = [];
$.fn.myAutocomplete = function(options){
var element = options.elem || this;
if(returnArray.length === 0){ //checking if the local array is populated or not
$.ajax({ // all other ajax options for asp.net webservice to respond are also set here
...,
url: options.url,
success : function(msg){
returnArray = msg.d;
}
});
}
return element.autocomplete({source:returnArray});
}
})(jQuery);
는 문제가있다 자동 완성 '텍스트'작동하지 않습니다 - 난 직장에서 내일은 jqgrid 자동 완성기를 테스트합니다
내 함수에 대한 모든 호출에 동일한 배열을 사용하고 있습니다. 다른 배열을 반환하기 위해 다른 호출을해야하기 때문에 이것은 분명히 결함입니다. –
chohi ~ 올바른 것이지만 기본 문제는 아닙니다. 어쨌든, 그것은'$ .fn.myAutocomplete' 본문에서'returnArray' 선언을 가져옴으로써 쉽게 해결할 수 있습니다. 어쨌든, 당신의 코드에서'element.autocomplete'에 대한 호출을 보았 기 때문에 jQuery UI에서 자동 완성 기능을로드하고 있다고 가정하고 있습니까? –