Как создать универсальный JQuery проверки и сброса вызова функции - PullRequest
1 голос
/ 30 ноября 2010

Я использую плагин проверки jquery для создания метода проверки для всех форм в приложении. Использование функции jquery each () для циклического отображения каждой формы и применения метода. Я хочу добиться сброса, используя один и тот же метод. Как я могу это сделать?

Это код, который работает:

 $("form").each(function () { 
        $(this).validate(); 
    });

Это код, который не

   $("form").each(function () { 
        validator = $(this).validate(); 
        validator.resetForm();
        $("#reset").click(function () {
            validator.resetForm();
        });
    });

Пожалуйста, сообщите ..

Ответы [ 2 ]

1 голос
/ 30 ноября 2010

Без ключевого слова var вы устанавливаете validator как глобальную переменную и меняете значение, установленное для каждого цикла (поэтому в конце будет установлен валидатор последней формы), просто добавьте var при объявлении этого, например:

$("form").each(function () { 
   var validator = $(this).validate();  //add var here
   validator.resetForm();
   $("#reset").click(function () {
       validator.resetForm();
   });
});

Это исправит это так, что вы будете сбрасывать каждый <form> один раз, чаще, чем в последний <form> n раз.

1 голос
/ 30 ноября 2010

попробовать это может быть?

$("form").each(function () { 
var validator = $(this);
validator.validate(); 
validator.resetForm(); 
$("#reset").click(function () { 
    validator.resetForm(); 
}); 
 });
...