js input搜索框自动补全及模糊搜索

24 篇文章 0 订阅

一.搜索的html

注意:自动补全和模糊搜索用的是jquery-ui组件,使用时需引入jquery-ui的js和css

<div class="top_search" data-open="no">
            <input type="text" id="search_con">
        </div>

二、搜索值和模糊匹配


    //搜索
    $("#search_con").on("focus", function () {//获得焦点清空值
        $("#search_con").val("")
        $(".ui-helper-hidden-accessible").hide()
        //模糊匹配控件跟时间控件冲突,会导致每次选择时间后无法执行选中搜索功能,所以使用及时加载的方式
        try {
            $("#search_con").autocomplete("destroy")
        } catch (e) {
            console.info(e)//第一次销毁肯定会报错,属于正常现象
        }
        $("#search_con").autocomplete({//模糊匹配
            autoFocus: true,
            messages: {
                noResults: $.i18n.prop("no_pipei"),
                results: function () {
                    return ""
                }
            },
            response: function () {
                $(".ui-helper-hidden-accessible").show()
            },
            source: allProvinceName,
            select: function (params1, params2) {//选中搜索
                provinceSearch(params2.item.value)
                $(".ui-helper-hidden-accessible").hide()
            }
        })
        $(".ui-helper-hidden-accessible").hide()
    })
    $("#search_con").on("input", function () {
        $(".ui-helper-hidden-accessible").hide()
    })
    $("#search_con").on("blur", function () {//空值恢复
        if ($("#search_con").val() == "") {
            $("#search_con").val($.i18n.prop("please_enter_province"))
        }
        $(".ui-helper-hidden-accessible").hide()
    })
    $("#search_con").bind('keypress', function (event) {//回车搜索
        if (event.keyCode == 13)
            provinceSearch($("#search_con").val())
    })
    $(".search_btn").on("click", function () {//点击搜索
        provinceSearch($("#search_con").val())
    })
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值