Плагин проверки формы JQuery, как выбрать динамически генерируемые элементы ввода для проверки? - PullRequest
2 голосов
/ 16 ноября 2009

Я использую плагин проверки формы Jquery для проверки входных данных в форме перед отправкой, есть некоторые входные элементы, которые называются «question1», «question2», «question3», ..., они генерируются динамически Итак, как проверить эти входные элементы в функции плагина Jquery validate ()? Мне нужны средства, чтобы сначала выбрать их.

$(document).ready(function() {
    $("#formname").validate({
        rules: {
            title: {
                required: true,
                minlength:40
            },
            content: {
                required: true,
                minlength:100,
                maxlength:2000
            }
        },
        messages: {
        }
    });
});

Заголовок, содержимое - это другие элементы ввода в той же форме, они не генерируются динамически, поэтому их легко проверить, просто по их имени. Итак, как проверить «вопрос1», «вопрос2», «вопрос3», ..., конечно, я могу написать так:

 question1: {
                required: true,
                minlength:40
            },
      question2: {
                required: true,
                minlength:40
                    },
         question3: {
                required: true,
                minlength:40
            },
         ...

Но, как я уже сказал, эти входные элементы генерируются динамически, я не могу предсказать, сколько существует «вопросников». Так как же делать работу?

Ответы [ 2 ]

1 голос
/ 16 ноября 2009

Вы должны поместить атрибут class = "question" в каждый из динамически создаваемых элементов, чтобы вы могли выполнить селектор jQuery для них.

$(".question").validate({  etc...  
0 голосов
/ 16 ноября 2009

Надеюсь, я понимаю вопрос:

Вы можете просто написать в обработчике OnChange каждый созданный элемент. Затем это вызовет процедуру проверки для вас. Это не ненавязчивый подход, который вы получаете, привязывая валидацию к элементам, но он работает.

JQuery пытается помочь с динамическими элементами, используя это: http://docs.jquery.com/Events/live#typefn

Но .live не поддерживает изменения на данный момент.

Другая библиотека может. Гугли вокруг и посмотри.

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