1. 程式人生 > >實現類似百度搜索框中模糊提示功能

實現類似百度搜索框中模糊提示功能

通常,在我們使用百度的時候,在輸入框中輸入某一個欄位的時候,就可以查詢到相關的資訊。類似的功能可以通過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(); } }); }