嘿,我在我的代码中寻求帮助,该代码允许仅在指定的数据数组内自动完成。因此,只允许输入自动完成数组内的数据。例如,如果用户输入 iran01,则用户将不允许输入 01,因为 iran01 无效。或者例如,如果用户在 iran 之后输入 NNN,则它会是 iranNNN,这也是无效的。那么只有伊朗应该出现在有效条目的文本框中。谁能告诉我如何做到这一点。
谁能告诉我如何获得这种行为。
$(document).ready(function () {
data = ["iran", "iraq", "Libya", "india"];
$("#autocomplete").autocomplete(data)
});
$('input#autocomplete').bind('keypress keyup', function(){
if ($.inArray($(this).val(), data) == -1){
$(this).val('');
$("#result").html("No match found!" + $(this).val());
}
});
$('input#autocomplete').result(function (event, data, formatted) {
$("#result").html(!data ? "No match found!" : "Selected: " + formatted);
}).keyup(function () {
$(this).search();
});
}
});
最佳答案
您可以在输入框的更改事件上放置一个监听器,然后确保已选择某个元素。看看我对这个问题的回答:
关于jquery - jquery 自动完成中的文本字段锁定 - 仅允许在自动完成选项内提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7727835/