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