Jquery Autocomplete 結(jié)合asp.net使用要點
更新時間:2010年10月29日 14:14:01 作者:
Jquery的Autocomplete是一個很好的智能提示插件,但是在實際使用過程中還是會遇到一些小問題.
問題1:從webserver或者一般應(yīng)用處理程序(.ashx)程序得到j(luò)son字符串時不能自動識別,被解釋成了string類型的。其實解決這個問題不是很難,只需要重載一個方法即可,下面把部分代碼貼出來:標(biāo)紅的部分需要注意。
$("#txt").autocomplete("/Asmx/ExecutePlan.ashx", {
extraParams:{hosid:HosID,profid:ProfID},
minChars: 0,
max: 700,
mustMatch: true,
autoFill: true,
selectFirst: true,
scrollHeight: 220,
width:640,
scroll:true,
parse: function(data){
var obj=eval("("+data+")");
var row = [];
for(var i = 0; i<obj.length; i++){
row[i] = {data:obj[i], //json
value: obj[i].instName, //列表中中的值
result: obj[i].instName}; //顯示到下拉列表中的
}
if(obj.length == 1)
{
// $("#hfInstID").val(obj[0].executeID);
// $("#Button1").click();
}
return row;
} ,
formatItem: function(row, i, total) {
},
formatMatch: function(row, i, max) {
},
formatResult: function(row, i, max) {
}
});
這樣問題就可以解決了,但是出現(xiàn)了一個新的問題,就是formatItem和formatMatch兩個事件都失效了,暫時不知道怎么解決。但是要是想在填入結(jié)果時做一些操作還是可以實現(xiàn)的,那就是調(diào)用這個方法,要注意,這個是和前一個$("#txt").autocomplete分開寫的,寫在上面那個綁定方法的最下面就好了。
$("#txt").result(function(event, data, formatted) {
});
具體的參數(shù)含義可以參考官方的開發(fā)文檔。目前我用到的功能就這么多,以后如果遇到新的再補充。
補充一點:$("#txt").flushCache();方法是用來清空autocomplete緩存的,有時候改變參數(shù)后會有緩存遺留問題。
復(fù)制代碼 代碼如下:
$("#txt").autocomplete("/Asmx/ExecutePlan.ashx", {
extraParams:{hosid:HosID,profid:ProfID},
minChars: 0,
max: 700,
mustMatch: true,
autoFill: true,
selectFirst: true,
scrollHeight: 220,
width:640,
scroll:true,
parse: function(data){
var obj=eval("("+data+")");
var row = [];
for(var i = 0; i<obj.length; i++){
row[i] = {data:obj[i], //json
value: obj[i].instName, //列表中中的值
result: obj[i].instName}; //顯示到下拉列表中的
}
if(obj.length == 1)
{
// $("#hfInstID").val(obj[0].executeID);
// $("#Button1").click();
}
return row;
} ,
formatItem: function(row, i, total) {
},
formatMatch: function(row, i, max) {
},
formatResult: function(row, i, max) {
}
});
這樣問題就可以解決了,但是出現(xiàn)了一個新的問題,就是formatItem和formatMatch兩個事件都失效了,暫時不知道怎么解決。但是要是想在填入結(jié)果時做一些操作還是可以實現(xiàn)的,那就是調(diào)用這個方法,要注意,這個是和前一個$("#txt").autocomplete分開寫的,寫在上面那個綁定方法的最下面就好了。
$("#txt").result(function(event, data, formatted) {
});
具體的參數(shù)含義可以參考官方的開發(fā)文檔。目前我用到的功能就這么多,以后如果遇到新的再補充。
補充一點:$("#txt").flushCache();方法是用來清空autocomplete緩存的,有時候改變參數(shù)后會有緩存遺留問題。
相關(guān)文章
Javascript類型系統(tǒng)之undefined和null淺析
這篇文章主要介紹了Javascript類型系統(tǒng)之undefined和null的知識,通過本文還簡單給大家介紹了javascript中null和undefined的區(qū)別的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07JavaScript請求后臺數(shù)據(jù)的常用方法匯總
這篇文章主要介紹了JavaScript請求后臺數(shù)據(jù)的幾種常用方式,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06微信小程序中data-key屬性之?dāng)?shù)據(jù)傳輸(經(jīng)驗總結(jié))
這篇文章主要介紹了微信小程序中data-key屬性:數(shù)據(jù)傳輸,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08IE 下Enter提交表單存在重復(fù)提交問題的解決方法
這篇文章主要介紹了IE 下Enter提交表單存在重復(fù)提交問題的解決方法,需要的朋友可以參考下2014-05-05js(jquery)實現(xiàn)無刷新跳轉(zhuǎn)404頁面不存在效果
有時候我們希望臨時讓某個分類或者多個文章不能正常訪問,手動給html文件改名?或者改后臺改程序?太麻煩了。用本文的js代碼很容易實現(xiàn),而且使用得當(dāng)很隱蔽。這篇文章主要介紹了js(jquery)實現(xiàn)無刷新跳轉(zhuǎn)404頁面不存在效果,需要的朋友可以參考下2023-04-04