JQUERY自动完成仍有问题

JQUERY自动完成仍有问题,jquery,validation,autocomplete,Jquery,Validation,Autocomplete,好的,这是我的代码。我正试图让它到达一个位置,如果这个人没有从自动完成中选择一个选项,只是手动输入,它会弹出一个响应,询问他们是否确定这是一个正确的工作编号。验证功能不起作用 $( document ).ready( function() { $("#shipping").validate({ rules: { projectnum: { required: true,

好的,这是我的代码。我正试图让它到达一个位置,如果这个人没有从自动完成中选择一个选项,只是手动输入,它会弹出一个响应,询问他们是否确定这是一个正确的工作编号。验证功能不起作用

$( document ).ready(

    function()
    {
        $("#shipping").validate({
            rules: {
            projectnum: {
            required: true,
            remote: "job_validate.php"
                         }
                    }
            });
        $( '#shipping' ).submit(
            function()
            {
                    var pattern = new RegExp('[P|O|\.]*\\s?B(ox)?.*\\d+', 'i');
                    var required_fields = new Array(
                        'name',
                        'service',
                        'company',
                        'contact',
                        'street',
                        'city',
                        'state',
                        'zip',
                        'projectnum'
                    );


                        for( j in required_fields )
                        {

                            var theRequiredField = required_fields[j]
                            var inputField = $( '[name="' + theRequiredField + '"]' )

                            if( inputField.val() == '' )
                            {                                   
                                alert( "The '" + theRequiredField + "' field is required." );
                                inputField.focus();
                                return false;

                            } 
                            if( inputField.val().match(pattern))
                            {                                   
                                alert( "PO Boxes are not allowed." );
                                inputField.focus();
                                return false;

                            }


                        } 


        } // function

            ) // submit

        $( '[name="projectnum"]' ).autocomplete({
            source: "job_validate.php",
            minLength: 3

        });



    }

); 

@Mike,您提供的是一个ID为“projectnum”而不是“shipping”的控件。我的猜测是(我并不是故意不客气)你需要从“入门”演示开始

您最初提供的代码:

$( document ).ready(

    function()
    {
        $("#shipping").validate({
叙述为“当文档准备就绪时,调用ID为“shipping”且带有(这些参数)的控件的“validate”功能…这就是我一直要求查看该控件的原因

用jquery的说法,
$(“#shipping”)
被称为选择器。它选择页面上所有具有“shipping”ID(这就是
符号的意思)的控件。因为它是一个ID选择器,所以应该只有一个。如果希望“所有控件”都具有“shipping”类,您将使用选择器
$(“.shipping”)

JQuery是javascript的一个很好的扩展,最终将成为一个很好的工具供您使用。但我相信您需要后退一步,学习基础知识,然后重新解决您的问题


请注意请不要对此投赞成票或反对票。这实际上不是对@Mike问题的回答,但我需要“答案框”提供的额外空间来给出完整的评论。

$(“#shipping”)。验证…
将以下函数分配给“#shipping”的验证事件“控件,您如何调用验证?请为“#shipping”控件添加html。我想这就是我感到困惑的地方。我在过去得到的答案是这个验证函数,但对于我的其他函数,我有点不确定它应该放在哪里。我们仍然需要看到一些HTML。对Jquery来说,
还好吗?不用担心,这是我一直在想的,这可能就是它不能正常工作的原因。“配送”是我表单的选择器。这就是为什么我选择它来验证页面上的所有其他输入框。我只是想弄清楚如何验证是否选择了自动完成,或者他们是否只是键入了信息。好的,这更有意义。(我通常不会给我的表单命名(好吧,除了“form1”,所以我甚至没有考虑这种可能性),但是表单DOM仍然没有一个本地的“验证”函数可以调用。请仔细研究jquery的工作方式,然后重新思考您要完成的任务,您所要求的大部分内容都会很清楚。