0
我需要一個jQuery自動完成,只有一個調用服務器,然後存儲在本地,並在jqgrid的後續調用中使用返回的數組。其他人也可以在網格之外工作; 我在我的onload jQuery的功能:使用jquery使用javascript封閉的自動完成
$('#text').myAutocomplete({url:'...'});
而另一個在jqGrid的 - 下面的dataInit是使用要autocmpleted一個文本框參數/在其他方面 修改我用的是ASP回調。淨Web服務,因此在我的Ajax調用的msg.d
$('#table').jqGrid({
...,
colModel:[...,
name:'col1',...,dataInit:function(el){
$.myAutocomplete({url:'..',elem:el});
}
...],
...
});
然後在我的自動完成功能:
(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);
問題是'text'上的自動完成功能不起作用 - 我將在工作中測試jqgrid的自動完成器明日照片
使用我的函數的所有調用同一個陣列剛剛意識到即時通訊 - 這顯然是有缺陷的,因爲我需要不同的呼叫diferent網址返回不同的陣列 – 2012-01-10 01:38:36
chohi〜正確的,儘管這可能不是你的主要潛在問題。在任何情況下,通過在你的'$ .fn.myAutocomplete'主體中引入'returnArray'聲明可以很容易地解決這個問題。在任何情況下,因爲我看到在你的代碼中調用'element.autocomplete',我假設你正在從jQuery UI加載自動完成功能? – 2012-01-10 03:07:25