亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于jQuery實現搜索關鍵字自動匹配功能

2019-11-20 11:24:02
字體:
來源:轉載
供稿:網友

今天我們就一起來看一個簡單的基于jquery的關鍵字自動匹配的例子,希望文章能夠對各位有幫助。
例子一
在項目中,有時候需要用戶選擇城市,但是城市太多,用戶選擇起來不太方便,所以提供了一個用戶可以通過輸入框輸入城市的漢字或者拼音簡寫。結果示意圖如下:


當輸入拼音后結果示意圖如下:


實現代碼如下:

<html><head><title>實時查詢城市通過姓名或拼音簡寫</title></head><meta charset = "utf-8" ><script type="text/javascript" src="jquery.min.js"></script><body><input id="searchCityName" style="width: 100%;" type="text" placeholder="中文 / 拼音首字母" />  <ul>   <li pinyin="bj" cityname="北京"><a href="/cityBranch/12.html">北京 </a></li>   <li pinyin="dl" cityname="大連"><a href="/cityBranch/14.html">大連 </a></li>   <li pinyin="sh" cityname="上海"><a href="/cityBranch/13.html">上海 </a></li>   <li pinyin="jn" cityname="濟南"><a href="/cityBranch/15.html">濟南 </a></li>   <li pinyin="gz" cityname="廣州"><a href="/cityBranch/17.html">廣州 </a></li>   <li pinyin="jh" cityname="金華"><a href="/cityBranch/18.html">金華 </a></li>   <li pinyin="wh" cityname="武漢"><a href="/cityBranch/19.html">武漢 </a></li>   <li pinyin="nj" cityname="南京"><a href="/cityBranch/20.html">南京 </a></li>   <li pinyin="sz" cityname="深圳"><a href="/cityBranch/22.html">深圳 </a></li>   <li pinyin="tj" cityname="天津"><a href="/cityBranch/21.html">天津 </a></li>   <li pinyin="cd" cityname="成都"><a href="/cityBranch/24.html">成都 </a></li>   <li pinyin="ly" cityname="臨沂"><a href="/cityBranch/25.html">臨沂 </a></li>   <li pinyin="cc" cityname="長春"><a href="/cityBranch/26.html">長春 </a></li>   <li pinyin="hz" cityname="杭州"><a href="/cityBranch/27.html">杭州 </a></li>   <li pinyin="nb" cityname="寧波"><a href="/cityBranch/28.html">寧波 </a></li>   <li pinyin="qd" cityname="青島"><a href="/cityBranch/29.html">青島 </a></li>   <li pinyin="sy" cityname="沈陽"><a href="/cityBranch/33.html">沈陽 </a></li>  </ul> <script>  function searchCity() {    var searchCityName = $("#searchCityName").val();    if (searchCityName == "") {      $("ul li").show();    } else {      $("ul li").each(          function() {            var pinyin = $(this).attr("pinyin");            var cityName = $(this).attr("cityName");            if (pinyin.indexOf(searchCityName) != -1                || cityName.indexOf(searchCityName) != -1) {              $(this).show();            } else {              $(this).hide();            }          });    }  }  $('#searchCityName').bind('input propertychange', function() {    searchCity();  }); </script></body></html>

注意點:

1、當我想實現在輸入框內實時查詢列表值,想到的第一種方案是用ajax,但是想了一下發現列表的值基本是固定的,為什么不一次加載出來呢,所以把后臺代碼改了一下,將所有城市詳情加載出來。
2、輸入框內值改變需要觸發事件,我第一個想法是用onchange,但是事實上onchange是輸入框值改變且輸入框失去焦點,所以我最終用了keyup。keyup在電腦上測試都沒有問題,但是在微信端,怎么都不生效。于是將keyup替換成了最終的 bind(‘input propertychange', function() {} 。
3、在判斷城市字符是否包含輸入框內的字符時,我用contains函數,在火狐下測試沒有任何問題,但是在chrome和微信客戶端不生效。最后將contains替換成了indexOf。

例子二、使用jquery.autocomplete插件來實現。
1、使用設置
首頁,要把插件的js代碼嵌入到你自己的項目中去。

<script src="jquery.js" type="text/javascript"><!--mce:0--></script><script src="jquery.autocomplete.js" type="text/javascript"><!--mce:1--></script>

2、使用方法
為要實現自動匹配提示的 input 表單添加 AutoComplete 功能。

<input id="query" name="q" />初始化 AutoComplete 對象,確保正確加載 DOM 對象,否則IE下的用戶可能會出現錯誤。$('#query').autocomplete({ serviceUrl: 'service/autocomplete.ashx', // Page for processing autocomplete requests minChars: 2, // Minimum request length for triggering autocomplete delimiter: /(,|;)/s*/, // Delimiter for separating requests (a character or regex) maxHeight: 400, // Maximum height of the suggestion list, in pixels width: 300, // List width zIndex: 9999, // List's z-index deferRequestBy: 0, // Request delay (milliseconds), if you prefer not to send lots of requests while the user is typing. I usually set the delay at 300 ms. params: { country: 'Yes'}, // Additional parameters onSelect: function(data, value){ }, // Callback function, triggered if one of the suggested options is selected, lookup: ['January', 'February', 'March'] // List of suggestions for local autocomplete });

根據文本表單中的輸入信息,進行關鍵字提示匹配。

{ query:'Li', // Original request suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'], // List of suggestions data:['LR','LY','LI','LT'] // Optional parameter: list of keys for suggestion options; used in callback functions. } jQuery AutoComplete 插件支持 on/off功能,從而控制效果的開關。var ac = $('#query').autocomplete({ /*parameters*/ }); ac.disable(); ac.enable(); ac.setOptons({ zIndex: 1001 });

3、設置表現樣式

最后,用div和css美化表現效果。

<div class="autocomplete-w1"><div id="Autocomplete_1240430421731" class="autocomplete" style="width: 299px;"><div><strong>Li</strong>beria</div><div><strong>Li</strong>byan Arab Jamahiriya</div><div><strong>Li</strong>echtenstein</div><div class="selected"><strong>Li</strong>thuania</div></div></div> .autocomplete-w1 { background:url(img/shadow.png) no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }.autocomplete { border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }.autocomplete .selected { background:#F0F0F0; }.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }.autocomplete strong { font-weight:normal; color:#3399FF; } jQuery AutoComplete

 以上分享的兩個例子都是關于jQuery實現搜索關鍵字自動匹配功能的,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美做爰性生交视频| 欧美日韩成人在线观看| 精品一区二区电影| y97精品国产97久久久久久| 美女av一区二区| 成人欧美一区二区三区黑人孕妇| 91视频国产一区| 日韩国产欧美精品一区二区三区| 精品久久久免费| 青青青国产精品一区二区| 国内精品美女av在线播放| 日韩风俗一区 二区| 国产精品久久久久久超碰| 亚洲**2019国产| 91视频免费网站| 国外成人在线直播| 精品国产一区二区三区久久久| 欧美大全免费观看电视剧大泉洋| 欧美亚洲国产成人精品| 成人久久18免费网站图片| 欧美www视频在线观看| 欧美精品18videosex性欧美| 97香蕉超级碰碰久久免费的优势| 久久久精品一区二区三区| 亚洲国产成人爱av在线播放| 久久精品亚洲精品| 国产精品成熟老女人| 成人国产精品久久久久久亚洲| 日韩成人性视频| 日韩免费观看视频| 国产一区二区三区欧美| 亚洲免费av电影| 2018中文字幕一区二区三区| 久久噜噜噜精品国产亚洲综合| 欧美洲成人男女午夜视频| 亚洲人成伊人成综合网久久久| 久久久99久久精品女同性| 欧美日韩另类字幕中文| 国产一区二区三区精品久久久| 91在线看www| 国产精品高潮粉嫩av| 91成品人片a无限观看| 国产精品v日韩精品| 精品无人区乱码1区2区3区在线| 在线观看日韩欧美| 亚洲国语精品自产拍在线观看| 一本色道久久88综合亚洲精品ⅰ| 美日韩精品免费观看视频| 国产区精品视频| 欧美激情视频给我| 97超视频免费观看| 欧美大片欧美激情性色a∨久久| 久久久久久久久国产精品| 亚洲第一级黄色片| 久久九九免费视频| 亚洲国产精品电影在线观看| 黑人巨大精品欧美一区二区| 久久久精品视频在线观看| 久久久人成影片一区二区三区| 国产精品久久久久国产a级| 成人免费自拍视频| 久久精品欧美视频| 国产精品露脸自拍| 亚洲性无码av在线| 宅男66日本亚洲欧美视频| 亚洲欧美精品一区二区| 国产乱肥老妇国产一区二| 日韩精品中文字幕在线| 伊人伊成久久人综合网站| 久久久久久中文| 国产91色在线免费| 中文字幕亚洲一区二区三区| 欧美日韩一区免费| 91精品久久久久久综合乱菊| 欧美与欧洲交xxxx免费观看| 日韩欧美中文免费| 欧美高清自拍一区| 欧美日韩中文字幕日韩欧美| 国产日韩亚洲欧美| 国产精品劲爆视频| 亚洲人成电影网站色xx| 91免费高清视频| 日本久久91av| 97精品久久久中文字幕免费| 国产精品444| 色妞欧美日韩在线| 欧美亚洲另类激情另类| 精品中文字幕在线2019| 91精品91久久久久久| 国内精品视频一区| 日本亚洲欧洲色| 欧美午夜视频一区二区| 亚洲天堂av图片| 国产精品视频导航| 久久久电影免费观看完整版| 日韩禁在线播放| 国产精品主播视频| 91国自产精品中文字幕亚洲| 成人欧美一区二区三区在线| 欧美激情久久久| 97色在线观看免费视频| 亚洲国产成人爱av在线播放| 日韩av免费在线| 国产区精品在线观看| 国产成人精品久久二区二区| 国产精品极品在线| 欧美专区在线观看| 欧美激情第一页xxx| 久久夜色撩人精品| 日韩免费观看在线观看| 国产午夜精品一区理论片飘花| 久久av.com| 欧美电影在线观看高清| 色悠悠国产精品| 欧美色欧美亚洲高清在线视频| 久久成人精品一区二区三区| 日韩精品在线观看一区| 亚洲第一综合天堂另类专| 亚洲区中文字幕| 91美女片黄在线观| 国产在线精品一区免费香蕉| 日韩精品在线看| 欧美性色xo影院| 欧美大片免费观看在线观看网站推荐| 亚洲精品久久久久久久久| 欧美中文字幕在线视频| 日本精品久久中文字幕佐佐木| 亚洲国产一区二区三区四区| 国产精品白丝av嫩草影院| 日韩视频免费观看| 国产精品久久久久久久7电影| 国产成人精品国内自产拍免费看| 秋霞午夜一区二区| 国产日韩欧美视频在线| 亚洲男人第一网站| 久久精品视频中文字幕| 久久亚洲精品小早川怜子66| 亚洲欧美制服中文字幕| 国产精品免费观看在线| 欧美在线一区二区视频| 亚洲欧洲一区二区三区在线观看| 日韩欧美国产一区二区| 欧美性高潮在线| 亚洲精美色品网站| 欧美午夜激情在线| 国产成人鲁鲁免费视频a| 欧美午夜美女看片| 亚洲精选中文字幕| 国产精品一区二区久久国产| 久久精品国产综合| 亚洲图片欧洲图片av| 欧美成人精品一区二区三区| 97精品一区二区视频在线观看| 91在线视频免费| 亚洲欧美日本伦理| 亚洲国产成人久久综合| 青青草成人在线| 日韩av在线影院| 亚洲国产精品悠悠久久琪琪| 国产综合视频在线观看| 国产精品爽黄69天堂a| 国产91精品高潮白浆喷水| 国产美女高潮久久白浆| 久久久久999|