我在zend项目中使用jQuery自动完成功能。输入显示我们数据库中的类别列表。我刚刚意识到无论用户输入什么,表单仍然会提交。我找了一种验证字段的方法,因此他们只能从数据库/自动完成中选择一个选项。我发现这个代码可以运行
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
});
});
答案 0 :(得分:1)
您可能使用了错误的方法。您可以使用select-tag代替自动完成。然后,用户只能进行有效选择,并且他知道他可以选择什么。 但是如果你想坚持自动完成,你需要独立于自动完成工具检查输入(它不用于验证)。您可以在发送之前检查数据,也可以使用keyup-event-listener检查数据。