【问题标题】:datalist input autocpmlete lose focus after select a value选择值后 datalist 输入 autocpmlete 失去焦点
【发布时间】:2016-05-28 19:48:04
【问题描述】:

我输入了一个数据列表来执行自动完成。数据列表是动态的。我这样做如下

我有一个函数如下:

$(function () {
            $("#to").on("input", function (e) {
                var val = $(this).val();
                if (val === "")
                    return;
                if(val.length < 2) return;
                console.log(val);
                $.getJSON("/code", {term: val}, function (data) {
                    var dataList = $("#list");
                    dataList.empty();
                    //console.log(data);
                    $.each(data, function (idx, obj) {
                            //console.log(obj.value);
                            //console.log(obj.label);
                            var opt = $("<option></option>").attr("value",obj.value).text(obj.label);
                            dataList.append(opt);
                    });
                });
            });
        });

这个函数的问题是,当我从数据列表中选择一个值时,输入事件再次被触发,所以我需要点击退出退出选择。选择值表单数据列表时如何失去焦点。

提前致谢

【问题讨论】:

    标签: jquery


    【解决方案1】:

    我通过检查我的数据列表的内容做了以下技巧。

    if ($('#list option').filter(function () {
                    return this.value === val;
                }).length) {
                    return;
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2021-07-12
      • 2022-01-16
      • 1970-01-01
      • 2017-09-17
      • 2017-08-06
      • 2023-01-16
      相关资源
      最近更新 更多