Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery自动完成如何将此代码与我们的函数集成以进行验证?_Javascript_Jquery_Jquery Ui_Jquery Autocomplete - Fatal编程技术网

Javascript 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

我正在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
        });
});

您可能使用了错误的方法。您可以使用select标记来代替自动完成。然后用户只能做出有效的选择,他知道自己可以选择什么。
但是如果你想坚持自动完成,你需要独立于自动完成工具来检查输入(它不用于验证)。您可以在发送数据之前或使用keyup事件侦听器检查数据。

自动完成的唯一原因是因为有几千个类别,所以我正在寻找一种方法,让用户过滤并快速选择一个类别。我能想到的唯一解决方案是添加keyup事件侦听器,并检查输入的输入是否有效。如果不是,则必须删除输入末尾的字符,直到它再次有效,然后设置新的有效字符串。因此,您可以防止任何其他内容写入该字段。刚刚找到这个选择小部件,它有一个筛选选项,因此它应该执行我需要的操作,并强制用户选择一个类别并筛选列表。我不认为要查找选择方法,谢谢