Jquery Autocomplete 結(jié)合asp.net使用要點(diǎn)
更新時(shí)間:2010年10月29日 14:14:01 作者:
Jquery的Autocomplete是一個(gè)很好的智能提示插件,但是在實(shí)際使用過程中還是會(huì)遇到一些小問題.
問題1:從webserver或者一般應(yīng)用處理程序(.ashx)程序得到j(luò)son字符串時(shí)不能自動(dòng)識(shí)別,被解釋成了string類型的。其實(shí)解決這個(gè)問題不是很難,只需要重載一個(gè)方法即可,下面把部分代碼貼出來:標(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)了一個(gè)新的問題,就是formatItem和formatMatch兩個(gè)事件都失效了,暫時(shí)不知道怎么解決。但是要是想在填入結(jié)果時(shí)做一些操作還是可以實(shí)現(xiàn)的,那就是調(diào)用這個(gè)方法,要注意,這個(gè)是和前一個(gè)$("#txt").autocomplete分開寫的,寫在上面那個(gè)綁定方法的最下面就好了。
$("#txt").result(function(event, data, formatted) {
});
具體的參數(shù)含義可以參考官方的開發(fā)文檔。目前我用到的功能就這么多,以后如果遇到新的再補(bǔ)充。
補(bǔ)充一點(diǎn):$("#txt").flushCache();方法是用來清空autocomplete緩存的,有時(shí)候改變參數(shù)后會(huì)有緩存遺留問題。
復(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)了一個(gè)新的問題,就是formatItem和formatMatch兩個(gè)事件都失效了,暫時(shí)不知道怎么解決。但是要是想在填入結(jié)果時(shí)做一些操作還是可以實(shí)現(xiàn)的,那就是調(diào)用這個(gè)方法,要注意,這個(gè)是和前一個(gè)$("#txt").autocomplete分開寫的,寫在上面那個(gè)綁定方法的最下面就好了。
$("#txt").result(function(event, data, formatted) {
});
具體的參數(shù)含義可以參考官方的開發(fā)文檔。目前我用到的功能就這么多,以后如果遇到新的再補(bǔ)充。
補(bǔ)充一點(diǎn):$("#txt").flushCache();方法是用來清空autocomplete緩存的,有時(shí)候改變參數(shù)后會(huì)有緩存遺留問題。
相關(guān)文章
JS實(shí)現(xiàn)駝峰字符串轉(zhuǎn)下劃線字符串的三種方法
這篇文章主要介紹了js下劃線和駝峰互相轉(zhuǎn)換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-11-11
JS三級(jí)聯(lián)動(dòng)代碼格式實(shí)例詳解
這篇文章主要介紹了JS三級(jí)聯(lián)動(dòng)代碼格式實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
使用clipboard.js庫(kù)實(shí)現(xiàn)復(fù)制剪切功能
這篇文章介紹了clipboard.js實(shí)現(xiàn)復(fù)制功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
JavaScript中自動(dòng)插入分號(hào)的規(guī)則詳解
JavaScript?提供了?automatic?semicolon?insertion?(ASI)自動(dòng)插入分號(hào)規(guī)則,在不加分號(hào)的情況下,會(huì)自動(dòng)補(bǔ)充分號(hào)來分隔不同語(yǔ)句,下面我們就來具體了解一下這一規(guī)則吧2024-01-01
微信小程序防止多次點(diǎn)擊跳轉(zhuǎn)和防止表單組件輸入內(nèi)容多次驗(yàn)證功能(函數(shù)防抖)
這篇文章主要介紹了微信小程序防止多次點(diǎn)擊跳轉(zhuǎn)和防止表單組件輸入內(nèi)容多次驗(yàn)證功能(函數(shù)防抖),需要的朋友可以參考下2019-09-09

