时间:2021-05-25
今天我们就一起来看一个简单的基于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 功能。
根据文本表单中的输入信息,进行关键字提示匹配。
{ 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({ }); 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; _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; _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更多搜索功能实现的精彩文章,请点击专题:javascript搜索功能汇总 进行学习
以上分享的两个例子都是关于jQuery实现搜索关键字自动匹配功能的,希望对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了Jquery搜索关键字自动匹配功能的实现代码,供大家参考,具体内容如下jQueryAutoComplete是一个基于jQuery实现搜索关键
jquery.fullsearch.js一款基于Bootstrap的单页面文字搜索jQuery插件。通过搜索关键字,插件会在下拉列表中高亮列出关键字和所在的各个
javascript:a.代码:/*@desc:js搜索函数,可用于关键字匹配@paramkey关键字@paramstr要搜索的字符串@returnout匹配关
搜索关键字管理一、搜索关键字管理功能介绍:搜索关键字管理为对网站前台搜索关键字记录的管理。二、搜索关键字管理:(一)、登录后台,单击“栏目&rdqu
什么是基于关键字的广告?关键字广告是一种使用关键字研究在搜索引擎上投放广告的方法。通过确定与你的业务产品最相关的关键字搜索,你可以竞标将广告放在相关关键字的搜索