我有一个小部件,它是输入和按钮的包装。我想显示输入焦点和按钮点击的下拉菜单。它在按钮点击时工作正常,输入工作只有一次不能正常工作。即使你选择一个选项它不工作....如果你使输入模糊然后它将工作正常,直到你选择的东西或使用按钮点击....下面是我的代码.....任何工作围绕PLZ。 ................................
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", "");
});
},
以上只是片段处理所需的功能.........
答案 0 :(得分:0)
尝试输入
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");
});