js 模糊查询

发布于 2022-09-05 07:41:12 字数 1490 浏览 20 评论 0

根据返回的数据,大概如下。要求是输入Y或者y 显示牙刷 浴巾 输入ys或YS显示牙刷。输入牙显示牙刷 牙具
输入牙刷 显示牙具
自己写了一下午准备做个插件方便以后用 最后发现有不少bug 搞不定了来求救。li模拟的option
哪位好心人帮帮忙实现个demo
clipboard.png

var data = {
    "state": "0",
    "data_list": [{
        "id": "1",
        "title": "牙刷",
        "Ne": "YS",
        "mNe": "ys",
    }, {
        "id": "2",
        "title": "毛巾",
        "Ne": "MJ",
        "mNe": "mj",
    }, {
        "id": "3",
        "title": "变形金刚",
        "Ne": "BXJG",
        "mNe": "bxjg",
    }, {
        "id": "4",
        "title": "浴巾",
        "Ne": "YJ",
        "mNe": "yj",
    }, {
        "id": "5",
        "title": "洗发水",
        "Ne": "XFS",
        "mNe": "xfs",
    }, {
        "id": "6",
        "title": "沐浴露",
        "Ne": "MYL",
        "mNe": "myl",
    }, {
        "id": "7",
        "title": "纸杯",
        "Ne": "ZB",
        "mNe": "zb",
    }, {
        "id": "8",
        "title": "内裤",
        "Ne": "NK",
        "mNe": "nk",
    }, {
        "id": "9",
        "title": "洗面奶",
        "Ne": "XMN",
        "mNe": "xmn",
    }, {
        "id": "10",
        "title": "牙具",
        "Ne": "YJ",
        "mNe": "yj",
    }, {
        "id": "11",
        "title": "内衣",
        "Ne": "NY",
        "mNe": "ny"
    }, {
        "id": "12",
        "title": "原味内衣",
        "Ne": "YWNY",
        "mNe": "ywny"
    }]
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

£冰雨忧蓝° 2022-09-12 07:41:14
        <input type="search" id="search" placeholder="请输入关键字" />
        <ul id="list"></ul>
        <script type="text/javascript">
            window.onload = function(){
                    //数据列表
                    var data = {
                        "state": "0",
                        "data_list": [{
                            "id": "1",
                            "title": "牙刷",
                            "Ne": "YS",
                            "mNe": "ys",
                        }, {
                            "id": "2",
                            "title": "毛巾",
                            "Ne": "MJ",
                            "mNe": "mj",
                        }, {
                            "id": "3",
                            "title": "变形金刚",
                            "Ne": "BXJG",
                            "mNe": "bxjg",
                        }, {
                            "id": "4",
                            "title": "浴巾",
                            "Ne": "YJ",
                            "mNe": "yj",
                        }, {
                            "id": "5",
                            "title": "洗发水",
                            "Ne": "XFS",
                            "mNe": "xfs",
                        }, {
                            "id": "6",
                            "title": "沐浴露",
                            "Ne": "MYL",
                            "mNe": "myl",
                        }, {
                            "id": "7",
                            "title": "纸杯",
                            "Ne": "ZB",
                            "mNe": "zb",
                        }, {
                            "id": "8",
                            "title": "内裤",
                            "Ne": "NK",
                            "mNe": "nk",
                        }, {
                            "id": "9",
                            "title": "洗面奶",
                            "Ne": "XMN",
                            "mNe": "xmn",
                        }, {
                            "id": "10",
                            "title": "牙具",
                            "Ne": "YJ",
                            "mNe": "yj",
                        }, {
                            "id": "11",
                            "title": "内衣",
                            "Ne": "NY",
                            "mNe": "ny"
                        }, {
                            "id": "12",
                            "title": "原味内衣",
                            "Ne": "YWNY",
                            "mNe": "ywny"
                        }]
                    }
                //动态生成列表
                var search = document.getElementById('search');
                var list = document.getElementById('list');
                search.oninput = function(){
                    list.innerHTML = '';
                    var text = search.value;
                    var length = text.length;
                    for(var i in data.data_list){
                        if(data.data_list[i].title.substring(0,length).indexOf(text) != -1
                            ||data.data_list[i].Ne.substring(0,length).indexOf(text) != -1
                            ||data.data_list[i].mNe.substring(0,length).indexOf(text) != -1
                        ){
                            list.innerHTML += '<li id="'+data.data_list[i].id+'">'+data.data_list[i].title+'</li>'
                        }
                    }
                }
                //点击列表中的数据获取其ID
                list.onclick = function(e){
                    if(e.target.nodeName == 'LI'){
                        alert(e.target.id);
                    };
                }
            }
        </script>

不知道是不是楼主要的效果,input中的值可以用正则去掉特殊字符,样式就不写了哈!

一曲爱恨情仇 2022-09-12 07:41:14

autocomplete.js

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文