仍然有JQUERY自动完成的问题

时间:2011-04-20 17:51:44

标签: jquery validation autocomplete

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

$( 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

        });



    }

); 

1 个答案:

答案 0 :(得分:0)

@Mike,您提供的是一个名为 ID 的“projectnum”而不是“shipping”的控件。我的猜测(我并不是说不友善)是你需要从JQUERY Website的“入门”演示开始。

您最初提供的代码:

$( document ).ready(

    function()
    {
        $("#shipping").validate({

叙述为“当文档准备好时,调用控件的'validate'功能,ID为”shipping“,带有'(这些参数)'...这就是为什么我一直要求查看控制

在jquery的说法中,$("#shipping")被称为选择器。它选择页面上具有“发货”ID(即#符号的含义)的所有控件。因为它是一个ID选择器,所以应该只有一个。如果您想要“使用”发货“类的所有控件,您将使用选择器$(".shipping")

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

留意其他人 请不要向上或向下投票。这不是@ Mike的问题的答案,但我需要额外的空间,“答案框”提供完整的评论