jQuery实现前端模糊匹配与首字母搜索

实现效果

源码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>搜索框测试Demo</title>
    <style>
        .searchDiv {width: 400px;height: 400px;margin: 150px auto;}
        .on {font-size: 12px;font-weight: 700;color: red;}
        /* 隐藏 拼音 标签 */
        p {display: none;}
    </style>
    <script type="text/javascript" src="../asset/js/jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
        $(function(){
            //键盘按键弹起时执行
            $(‘#index‘).keyup(function(){
                var index = $.trim($(‘#index‘).val().toString()); // 去掉两头空格
                if(index == ‘‘){ // 如果搜索框输入为空
                    $(‘li‘).removeClass(‘on‘);
                    return false;
                }
                var parent = $(‘ul‘);
                $(‘li‘).removeClass(‘on‘);
                //选择包含文本框值的所有加上focus类样式,并把它(们)移到ul的最前面
                // prependTo() 方法在被选元素的开头(仍位于内部)插入指定内容
                // contains 选择器,选取包含指定字符串的元素
                $("li:contains(‘"+index+"‘)").prependTo(parent).addClass(‘on‘);
                $("p:contains(‘"+index+"‘)").parent().prependTo(parent).addClass(‘on‘);
            });
        });
    </script>
</head>
<body>
    <div class="searchDiv">
        我要搜:<input type="text" id="index"/>
        <ul>
            <li>郑州的文武<p>zzdww</p></li>
            <li>我来自新乡市<p>wlzxxs</p></li>
            <li>我的母校是中原工学院<p>wdmxszygxy</p></li>
            <li>我叫郑斌<p>wjzb</p></li>
            <li>芳龄22<p>fl22</p></li>
        </ul>
    </div>
</body>
</html>

注意

用到了 jQuery 提供的 :contains 选择器,详情参考:http://www.w3school.com.cn/jquery/selector_contains.asp

后期优化,搜索标题的拼音首字母应由后台程序生成,详情参考:http://blog.csdn.net/chunlongyuan/article/details/8514147

时间: 2024-12-10 11:38:32

jQuery实现前端模糊匹配与首字母搜索的相关文章

jquery选择器之模糊匹配

模糊匹配主要分为前导模糊匹配,后导模糊匹配和全文模糊匹配. 前导模糊匹配[^=] 例子:选择name前缀为aa的所有div的jQuery对象. $("div[name^='aa']") 后导模糊匹配[$=] 例子:选择name后缀为aa的所有div的jQuery对象. $("div[name$='aa']") 全文模糊匹配[*=] 例子:选择name中包含aa的所有div的jQuery对象. $("div[id*='aa']") 全词匹配[=]

Lucene + Pinyin4J 提供首字母搜索(——)

遇到一个集团需求,要求在地址查询时候提供拼音搜索,第一反应应该不难,不过实现过程中却一波三折. 1.第一步是讲字段首字母进行索引,具体可以使用Pinyin4j提供的方法完成. 2.原来系统用的lucene3.0,分词用的ikanalyzer3.2 ,不支持连续字母和数字的分词,网上搜索下 ikanalyzer5.2 可以支持,下载下来发现必须用1.7JDK,如此高的版本,实际上已经把采纳的可能枪毙了.然后进行测试,发现仍然不行.最后找到 WildcardQuery 查询:具体代码如下 Boole

【Solr】 solr对拼音搜索和拼音首字母搜索的支持

问:对于拼音和拼音首字母的支持,当你在搜商品的时候,如果想输入拼音和拼音首字母就给出商品的信息,怎么办呢? 实现方式有2种,但是他们其实是对应的.  用lucene实现 1.建索引, 多建一个索引字段,即拼音和拼音首字母这2个字段.合并的一个字段.  (拼音和拼音首字母,可以通过pinyin4j.jar.将想要进行拼音搜索的字段进行拼音转换.) 2.对输入的参数判断是否是拼音,(可以通过将传人的值转换为 utf-8 形式,如果转换后的字符串长度大于原来的字符串的长度,那么就不是拼音.否则就进行拼

按照首字母搜索功能(mysql数据库执行语句)

select *  from `dd` order by ELT(INTERVAL(CONV(HEX(left(CONVERT(num USING gbk),1)),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1

iOS拼音搜索,拼音首字母搜索

扩展了一下 搜索框,能够实现拼音和首字母模糊搜索 基本搜索 [上一篇文章 ](https://www.cnblogs.com/wjw-blog/p/10724043.html iOS8之后搜索框的常规实例) #import "NSString+utility.h" @interface WJWPinyinSearchViewController ()<UISearchResultsUpdating,UITableViewDelegate,UITableViewDataSource

jquery 选择器,模糊匹配

按姓名匹配 1,name前缀为aa的所有div的jquery对象 Js代码   $("div[name^='aa']"); 2,name后缀为aa的所有div的jquery对象 Js代码   $("div[name$='aa']"); 3,name中包含aa的所有div的jquery对象 Js代码   $("div[id*='aa']"); 以上返回的都是jquery的集合对象,因此都可以用 Java代码   .each(function(i){

(自创)城市组件,含拼音首字母搜索 基于angular的封装

啥都不说 先给思想 城市组件设计 1:四个集合: totalJson 总的json provinceJson 省份json cityJson 城市json countyJSon 区县json 输出的字符串: totalStr:形如 安徽-合肥-政务区 的字符串 cityAndCounStr:形如 合肥-政务区 的字符串 listContentJson:只含有城市的json 如:hf [ 合肥 海丰] 2:方法: Step1:所有的搜索转为对拼音的匹配 如:安/an  会匹配到 anhui  an

按拼音、首字母搜索手机通讯录,自定义键盘搜索手机通讯录

package contacters; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Random; public class Test { static Map<String, HashMap<String, Contact>> maps =

Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)

一.先摆需求: 1.中文搜索.英文搜索.中英混搜   如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜   如:"nanjingdonglu","njdl","南京donglu","南京dl","nang南东路","njd路"等等组合 3.简繁搜索.特殊符号过滤搜索   如:"龍馬&quo