Javascript jQuery自动完成如何将此代码与我们的函数集成以进行验证?
我正在zend项目中使用jQuery自动完成。输入显示数据库中的类别列表。我刚刚意识到无论用户输入什么,表单仍然会提交。我寻找了一种验证字段的方法,以便他们只能从数据库/自动完成中选择一个选项。我找到了这个代码Javascript jQuery自动完成如何将此代码与我们的函数集成以进行验证?,javascript,jquery,jquery-ui,jquery-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Autocomplete,我正在zend项目中使用jQuery自动完成。输入显示数据库中的类别列表。我刚刚意识到无论用户输入什么,表单仍然会提交。我寻找了一种验证字段的方法,以便他们只能从数据库/自动完成中选择一个选项。我找到了这个代码 var src = ['hi', 'bye', 'foo', 'bar']; $("#auto").autocomplete({ source: function(request, response) { var results = $.ui.autocomp
var src = ['hi', 'bye', 'foo', 'bar'];
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(src, request.term);
if (!results.length) {
this.element.val('');
}
response(results);
}
});
我的JS看起来像这样,我不知道如何使用上面的代码来验证来自自动完成的变量。谢谢你的帮助
$(function() {
var url = "http://domain.com/account/ajaxautocomplete?format=json";
$( "#autotest" ).autocomplete({
source: url,
minLength: 2
});
});
您可能使用了错误的方法。您可以使用select标记来代替自动完成。然后用户只能做出有效的选择,他知道自己可以选择什么。
但是如果你想坚持自动完成,你需要独立于自动完成工具来检查输入(它不用于验证)。您可以在发送数据之前或使用keyup事件侦听器检查数据。自动完成的唯一原因是因为有几千个类别,所以我正在寻找一种方法,让用户过滤并快速选择一个类别。我能想到的唯一解决方案是添加keyup事件侦听器,并检查输入的输入是否有效。如果不是,则必须删除输入末尾的字符,直到它再次有效,然后设置新的有效字符串。因此,您可以防止任何其他内容写入该字段。刚刚找到这个选择小部件,它有一个筛选选项,因此它应该执行我需要的操作,并强制用户选择一个类别并筛选列表。我不认为要查找选择方法,谢谢