站長資訊網
        最全最豐富的資訊網站

        Html5新標簽datalist實現輸入框與后臺數據庫數據的動態匹配的詳細介紹

        HTML5新增的標簽datalist實現輸入中文/拼音首字母時,自動進入數據庫模糊查詢,并返回相應的結果,生成datalist,由于在輸入框中的輸入內容發生變化時,datalist會自動觸發下拉框,解決方案非常好,下面通過本文給大家分享實例代碼,需要的的朋友參考下吧

        最近項目中涉及到一個小功能,客戶在選擇供應商時,由于供應商數目較多(大概3000個左右),因此直接生成下拉框顯然不現實,所以就更換解決方案,打算借助HTML5新增的標簽datalist來實現輸入中文/拼音首字母時,自動進入數據庫模糊查詢,并返回相應的結果,生成datalist,由于在輸入框中的輸入內容發生變化時,datalist會自動觸發下拉框,所以使用起來比select更便捷。前端部分代碼如下:

        Html Code:

        <!DOCTYPE html>    <html lang="en">      <head id="head">        <title>庫存下拉框測試</title>        <meta charset="utf-8">        <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">        <meta name="viewport" content="width=device-width, initial-scale=1.0">        <meta name="description" content="">        <meta name="author" content="">        <script src="../../Common/content/jquery-1.7.2.min.js"type="text/javascript"></script>        <script src="../../Common/pages/include.js" class="include" type="text/javascript"></script>        <script src="../../Common/js/AjaxJson.js"  type="text/javascript"></script>        <script src="../../Common/js/Setting.js"  type="text/javascript"></script>        <script src="../../Common/js/Paging.js"  type="text/javascript"></script>        <script src="../../Js/warehouseManage/testyy.js" type="text/javascript"></script>       </head>      <body class="">        <!--<![endif]-->        <p class="navbar"></p>        <p class="sidebar-nav"></p>        <p class="content">            <p class="header"><h1 id="ADU" class="page-title">下拉框測試</h1></p>            <p class="container-fluid">                <p class="row-fluid">                    <!-- --------------------------多條件查詢--------------------------------------------- -->                    <p class="well" id="searchDemo">                    <p>測試數據(默認均為d00001):<br>    昆山市大陸配件有限公司     ksdlpjyxgs <br>                                億真企業有限公司                        yzqyyxgs        <br>                                泰州市安謄軸皮廠(集團廠)   tzsatzpc(jtc)                    </p>                      </p>                        按 供應商名動態匹配(中文或者拼音均可):                        <input list="bro"  id="name"   oninput="this.value=this.value.replace(/^ +| +$/g,'');search('name','bro','name')"  >                        <datalist  id="bro"></datalist>                 </p>            </p>        </p>         </body>                       <!-- -----------------------footer-------------------------- -->                    <footer  class="foot"></footer>    </html>

        JavaScript Code:

        var listobj=null;            //datalist對象    var requestItem=null;        //后臺返回的json數據中所需的key值    var inputContent=null;       //input標簽對象    /**search()說明:    * inputID:     input標簽的ID    * datalistID:  datalist標簽的ID    * itemName:    后臺返回的json數據中所需的key值(僅需表格中中文字段的屬性名)    * */    function search(inputID,datalistID,itemName)    {        inputContent=document.getElementById(inputID);        var datalist=document.getElementById(datalistID);        //防止在無輸入內容的情況下產生遺留下拉選項        if(inputContent.value.length==0||inputContent.value==" ")        {               var sub=datalist.childNodes;            if(sub.length>0)            {                for (var i =sub.length-1; i>=0 ; i--)                 {                    datalist.removeChild(sub[i]);                       }            }            listobj=null;                       requestItem=null;                    inputContent.value=null;            return false;        }        //全局變量賦值        listobj=datalist;        requestItem=itemName;        var data="";        var url="";         if(/^[a-zA-Z]*$/.test(inputContent.value))        {            //檢測出是拼音首字母            data="type=searchWords?m="+inputContent.value;      //注意:data-----------需要自定義            url=baseurl + "/servlet/ListDemo";                      //注意:url-----------需要自定義            sendRequest("post",url,data,getResult);        }        else if (/^[u4e00-u9fa5]*$/.test(inputContent.value))        {            //檢測出是中文            data="type=searchChinese?m="+inputContent.value;    //注意:data-----------需要自定義            url=baseurl + "/servlet/ListDemo";                      //注意:url-----------需要自定義            sendRequest("post",url,data,getResult);        }    }    //填寫倉庫下拉框    function getResult(result)     {        var data=result;        var JData=eval("(" + data + ")");        var maxlength=10;              //注釋:maxlength保證過多查詢結果下只顯示10條        if(JData.length<=10)        {              maxlength=JData.length;                  }        var sub=listobj.childNodes;        for (var i =sub.length-1; i>=0 ; i--)         {            listobj.removeChild(sub[i]);    //清空datalist所有的下拉選項         }        if(JData.length==0)  //沒有查詢結果        {            alert("沒有符合條件的結果,請重輸");            inputContent.value="";    //清空input輸入框的值            return false;        }        for (var i=0;i<maxlength;i++)         {             var obj=document.createElement("option");             var indexobj=JData[i];            if(/^[a-zA-Z]*$/.test(inputContent.value))            {                  obj.value=indexobj[requestItem];                 obj.innerHTML=inputContent.value;            }            if (/^[u4e00-u9fa5]*$/.test(inputContent.value))            {                 obj.value=indexobj[requestItem];            }              listobj.appendChild(obj);             }        var suffix=document.createElement("option");        suffix.value=" ";        suffix.innerHTML="輸入更多有關"+inputContent.value+"的信息";        listobj.appendChild(suffix);        return false;    }

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品自产拍在线观看花钱看 | 宅男在线国产精品无码| 996久久国产精品线观看| 欧美精品福利在线视频| 老司机69精品成免费视频| 久久精品国产精品亚洲毛片| 欧美成人精品高清在线播放| 色综合久久综精品| 99精品人妻无码专区在线视频区 | 精品国产一区二区三区不卡| 亚洲情侣偷拍精品| 欧美成人精品一区二三区在线观看| 国产精品 码ls字幕影视| 热久久这里只有精品| 97视频在线观看这里只有精品| 国产日韩精品欧美一区| 久久精品黄AA片一区二区三区| 中国大陆精品视频XXXX| 日韩精品无码免费视频| 精品午夜福利1000在线观看| 成人精品一区二区三区在线观看| 九九热精品在线| 久久精品一区二区三区不卡| 精品999久久久久久中文字幕| 国产成人久久精品一区二区三区| 久久久久久亚洲Av无码精品专口| 中文精品99久久国产 | 午夜三级国产精品理论三级| 国产精品无码v在线观看| 99久久99久久精品国产片果冻| 欧美极品欧美精品欧美视频| 国产精品污视频| 欧美精品高清在线观看| 免费精品99久久国产综合精品| 久久伊人精品青青草原高清| 亚洲精品线在线观看| 91久久精品无码一区二区毛片| 91精品国产色综久久| 国产精品免费久久久久久久久| 国产午夜精品理论片| 精品久久久久久国产三级|