實現類似百度搜索框中模糊提示功能
阿新 • • 發佈:2019-02-15
通常,在我們使用百度的時候,在輸入框中輸入某一個欄位的時候,就可以查詢到相關的資訊。類似的功能可以通過JS的框架來實現(顯然不會像百度那麼強大)。jquery提供了一種擴充套件外掛。可以實現獲取文字框內容然後自動向後臺提交請求。下面通過一段程式碼來展示這種功能。
在使用這種擴充套件外掛的時候,需要使用到
這兩個檔案。
通過如下程式碼:
$(function(){
applymentAutoComplete("input[name='providerName']");
});
表示在頁面初始化的時候就啟動這種自動請求的方式。
function applymentAutoComplete (objname){
$(objname).autocomplete({
source:function(request,response){
$.ajax({
url: basePath+"/page/applyment/searchallproviderinfo",
type:"post",
data: {providerName:$("#providername").val()},
dataType: "json" ,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function(data) {
var jsondata = [];
var providerinfolist = data.o;
var length = data.o.length;
for (var i=0;i<length;i++)
{
//宣告一個字元物件,用來存所需要的值
var providerinfo = {};
//一個搜尋字元所包含的值
var providerid = "";
var providername = "";
//這裡只能填寫id和value。不能換成其他字串
//和下面的jquery選擇器選擇的內容對應
providerinfo.id = providerinfolist[i].providerid;
providerinfo.value = providerinfolist[i].providername;
jsondata.push(providerinfo);
}
response(jsondata);
},
});
},
minLength:1,
delay: 500,
select: function(event,ui){
$("input[name='providerid']").val(ui.item.id);
$("input[name='providerName']").val(ui.item.value);
event.preventDefault();
}
});
}