jquery - 焦点显示列表和删除列表上的小部件

标签 jquery html css widget

我有一个小部件,它是输入和按钮的包装器。我想显示输入焦点和按钮点击的下拉菜单。它在单击按钮时工作正常,输入工作正常,但在那之后不起作用。即使你选择了一个选项它不起作用....如果你使输入模糊然后它会工作正常,直到你选择一些东西或使用按钮点击....下面是我的代码......请解决任何问题。 ...........................................

  input = $("<input>")
                .appendTo(wrapper)
                .val(value)
                .attr("title", "")
                .autocomplete({
                    delay: 0,
                    minLength: 0,
                    appendTo: wrapper,
                    source: function (request, response) {
                        var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");

                        response(select.children("option").map(function () {
                            var text = $(this).text();
                            if (this.value && (!request.term || matcher.test(text)))
                                return {
                                    label: text,
                                    value: text,
                                    option: this
                                };
                        }));

                    },

                .focus(function () {                    
                    $(".ui-combobox").addClass("focus");                    

                    if (wasOpen) {
                        return;
                    }

                    input.autocomplete("search", "");
                })

                .blur(function () {                 
                    $(".ui-combobox").removeClass("focus");
                });

            // creating the anchor button
            $("<button></button>")
                .attr("tabIndex", -1)
                .addClass("br-r")
                .appendTo(wrapper)
                .mousedown(function () {
                    wasOpen = input.autocomplete("widget").is(":visible");
                })
                .click(function () {
                    input.focus();

                    if (wasOpen) {
                        return;
                    }

                    input.autocomplete("search", "");                   
                });
        },

以上只是处理所需功能的片段.........

最佳答案

试试这个输入

input = $("<input>")
                .appendTo(wrapper)
                .val(value)
                .attr("title", "")
                .autocomplete({
                    delay: 0,
                    minLength: 0,
                    appendTo: wrapper,
                    source: function (request, response) {
                        var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");

                        response(select.children("option").map(function () {
                            var text = $(this).text();
                            if (this.value && (!request.term || matcher.test(text)))
                                return {
                                    label: text,
                                    value: text,
                                    option: this
                                };
                        }));

                    }})

                .focus(function () {                    
                    $(".ui-combobox").addClass("focus");                    

                    if (wasOpen) {
                        return;
                    }

                    input.autocomplete("search", "");
                })

                .blur(function () {                 
                    $(".ui-combobox").removeClass("focus");
                });

关于jquery - 焦点显示列表和删除列表上的小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15608907/

相关文章:

jquery - 在嵌套列表 ul 上保持悬停

HTML/CSS Plotly 绘图大小

javascript - 创建元素功能不起作用

javascript - HTML 中的六边形链接

html - 具有独立滚动列的 Material UI 网格

javascript - 响应式文本框 jQuery Mobile

javascript - jquery 选取框不能在 chrome 中工作

jquery - 使用 JQuery 获取对 PrimeFaces widgetVar 的引用

Jquery UI 可拖动元素从固定 div 隐藏由绝对元素

javascript - 谷歌代码美化不会显示图像