我正在使用 jquery ui(1.8.11) 自动完成插件。
它有一个简单的自定义行为来检查可用列表中是否存在该值。那是因为我想限制用户使用列表中可用的内容。如果输入不在列表中,它将删除框中的内容。运行良好。
但是以下实现仍然允许用户编写选项中没有的任何内容。我宁愿不让他写一些不存在的东西。
那么有没有一种方法可以在没有选项的情况下立即删除用户要写入的字符?或者更好的是,如果列表中有查找,则只让他输入一系列字符。
这是我到目前为止的代码
$("#autocomplete").autocomplete({
autoFocus: true,
delay: 200,
source: function (request, response) {
$.ajax({
url: "/Country/Find", type: "GET", dataType: "json",
data: { search: request.term, maxResults: 10 },
success: function (data) {
response($.map(data, function (item) {
return { label: item, value: item }
}))
}
})
},
change: function (event, ui) {
if (!ui.item) {
$(this).val('');
}
}
});
最佳答案
我发现这个问题是为了检索下拉列表的选择! Get selected value in dropdown list using JavaScript?但要删除最后一个字符不知道...
$("#autocomplete").autocomplete({
autoFocus: true,
delay: 200,
source: function (request, response) {
$.ajax({
url: "/Country/Find", type: "GET", dataType: "json",
data: { search: request.term, maxResults: 10 },
success: function (data) {
response($.map(data, function (item) {
var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].value;
if(strUser != null)
{
return { label: item, value: item }
}
else
{
//remove last char
}
}))
}
})
});
关于jquery - 将用户输入限制为 jquery 自动完成中的可用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13344883/