По-прежнему возникают проблемы с автозаполнением JQUERY - PullRequest
0 голосов
/ 20 апреля 2011

Хорошо, вот мой код. Я пытаюсь получить его там, где, если человек не выбирает опцию из автозаполнения, а просто вводит ее вручную, чтобы он высветил ответ, спрашивая их, уверены ли они, что это правильный номер задания. Функция проверки не работает.

$( 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 голосов
/ 21 апреля 2011

@ Майк, вы предоставили элемент управления с ID для "projectnum" вместо "shipping". Мое предположение (и я не хочу быть недобрым) заключается в том, что вам нужно начать с демонстрации "Начало работы" на сайте JQUERY .

Код, который вы предлагаете изначально:

$( document ).ready(

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

повествует как «Когда документ готов, вызовите функцию« проверить »элемента управления с идентификатором« shipping »с« (этими параметрами) »... вот почему я просил управление .

На языке jquery $("#shipping") называется селектором . Он выбирает все элементы управления на странице, которые имеют идентификатор (то есть, что означает знак #) «отгрузка». Поскольку это селектор идентификатора, он должен быть только ОДИН. Если бы вы хотели «все элементы управления с классом« shipping », вы бы использовали селектор $(".shipping")

JQuery является отличным расширением javascript и в конечном итоге станет отличным инструментом для использования. Но я считаю, что вам нужно сделать шаг назад, выучить основы, а затем повторно ответить на ваш вопрос.

примечание для других пожалуйста, не голосуйте ни за, ни за. Это не совсем ответ на вопрос @ Майка, но мне нужно было дополнительное место, которое "ящик для ответов" предоставил, чтобы дать полный комментарий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...