基于bootstrap插件實(shí)現(xiàn)autocomplete自動(dòng)完成表單
基于bootstrap插件實(shí)現(xiàn)autocomplete自動(dòng)完成表單,提供腳本代碼,用例,以及后臺(tái)服務(wù)端(php), 原文有些沒(méi)說(shuō)清楚的地方,希望能幫助大家.
首先肯定還是加載bootstrap&jquery了,需要額外說(shuō)明的是,后端返回的二維數(shù)組,和formatItem方法下面的調(diào)用保持一致即可;
另外,返回的數(shù)據(jù)要先parseJSON!切記。
相關(guān)參數(shù)說(shuō)明:
source:function(query,process){}。query表示當(dāng)前文本輸入框中的字符串,可在該方法中通過(guò)ajax向后臺(tái)請(qǐng)求數(shù)據(jù)(數(shù)組形式的json對(duì)象),然后將返回的對(duì)象作為process的參數(shù);
formatItem:function(item){}。對(duì)返回?cái)?shù)據(jù)的具體某個(gè)json對(duì)象轉(zhuǎn)化為字符串格式,用以顯示在提示列表中,返回值:字符串;
setValue:function(item){}。選中提示列表某項(xiàng)時(shí),設(shè)置文本輸入框中顯示的值以及實(shí)際需要獲取的值。返回值格式:{'data-value':item["輸入框顯示值的item屬性"],'real-value':item["實(shí)際需要獲取值的item屬性"]},后期可通過(guò)文本輸入框的real-value屬性獲取該值;
items:自動(dòng)完成提示的最大結(jié)果集數(shù)量,默認(rèn):8;
minLength:當(dāng)前文本輸入框中字符串達(dá)到該屬性值時(shí)才進(jìn)行匹配處理,默認(rèn):1;
delay:指定延時(shí)毫秒數(shù)后,才正真向后臺(tái)請(qǐng)求數(shù)據(jù),以防止輸入過(guò)快導(dǎo)致頻繁向后臺(tái)請(qǐng)求,默認(rèn):500
基于bootstrap插件實(shí)現(xiàn)autocomplete自動(dòng)完成表單,代碼如下
1.代碼
<script> $('#sim_iccid').autocomplete({ source:function(query,process){ var matchCount = this.options.items;//允許返回結(jié)果集最大數(shù)量 $.get("http://www.soyiyuan.com/update/",{"iccid":query,"matchCount":matchCount},function(respData){ respData = $.parseJSON(respData);//解析返回的數(shù)據(jù) return process(respData); }); }, formatItem:function(item){ return item["iccid"]+"("+item["mobile"]+")"; }, setValue:function(item){ return {'data-value':item["iccid"],'real-value':item["mobile"]}; } }); </script>
2. $data為一個(gè)二維數(shù)組
echo json_encode( $data )
3. 需要返回的標(biāo)準(zhǔn)json格式
[code][{"iccid":"12345678901234567890","mobile":"1850000"},{"iccid":"12345785","mobile":"1850001"}][code]
Bootstrap自動(dòng)完成控件Autocomplete是基于bootstrap自帶控件typeahead改造而來(lái),因?yàn)?typeahead不支持復(fù)雜的對(duì)象。
//示例代碼如下: $('#autocompleteInput').autocomplete({ source:function(query,process){ var matchCount = this.options.items;//返回結(jié)果集最大數(shù)量 $.post("/bootstrap/region",{"matchInfo":query,"matchCount":matchCount},function(respData){ return process(respData); }); }, formatItem:function(item){ return item["regionName"]+"("+item["regionNameEn"]+","+item["regionShortnameEn"]+") - "+item["regionCode"]; }, setValue:function(item){ return {'data-value':item["regionName"],'real-value':item["regionCode"]}; } }); $("#goBtn").click(function(){ //獲取文本框的實(shí)際值 var regionCode = $("#autocompleteInput").attr("real-value") || ""; alert(regionCode); });
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附3個(gè)精彩的專題:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- 基于Bootstrap+jQuery.validate實(shí)現(xiàn)Form表單驗(yàn)證
- Bootstrap實(shí)現(xiàn)登錄校驗(yàn)表單(帶驗(yàn)證碼)
- JS組件Form表單驗(yàn)證神器BootstrapValidator
- 全面解析Bootstrap表單使用方法(表單按鈕)
- 詳解Bootstrap創(chuàng)建表單的三種格式(一)
- 全面解析Bootstrap表單使用方法(表單樣式)
- 實(shí)用又漂亮的BootstrapValidator表單驗(yàn)證插件
- 基于jQuery.validate及Bootstrap的tooltip開發(fā)氣泡樣式的表單校驗(yàn)組件思路詳解
- Bootstrap每天必學(xué)之表單
- 整理關(guān)于Bootstrap表單的慕課筆記
相關(guān)文章
淺析JavaScript中break、continue和return的區(qū)別
這篇文章主要介紹了JavaScript中break、continue和return的區(qū)別,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11微信小程序:數(shù)據(jù)存儲(chǔ)、傳值、取值詳解
這篇文章主要介紹了微信小程序:數(shù)據(jù)存儲(chǔ)、傳值、取值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05網(wǎng)站被黑的假象--ARP欺騙之頁(yè)面中加入一段js
網(wǎng)站被黑的假象--ARP欺騙之頁(yè)面中加入一段js...2007-05-05原生JS實(shí)現(xiàn)音樂(lè)播放器的示例代碼
這篇文章主要介紹了原生JS實(shí)現(xiàn)音樂(lè)播放器的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02javascript用正則表達(dá)式過(guò)濾空格的實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇javascript用正則表達(dá)式過(guò)濾空格的實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06JAVASCRIPT車架號(hào)識(shí)別/驗(yàn)證函數(shù)代碼 汽車車架號(hào)驗(yàn)證程序
偶然中在CSDN里找到C#版的驗(yàn)證程序,因此改編了一版JS版本,相信會(huì)對(duì)大家有用2012-01-01echarts地圖繪制自定義標(biāo)記實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于echarts地圖繪制自定義標(biāo)記實(shí)現(xiàn)的相關(guān)資料,ECharts地圖是一個(gè)功能強(qiáng)大的數(shù)據(jù)可視化工具,基于百度ECharts開源項(xiàng)目開發(fā)而成,它主要用于在網(wǎng)頁(yè)中展示各種地理數(shù)據(jù)和地圖的信息,需要的朋友可以參考下2023-11-11