Как создать правила для динамически генерируемых полей

http://www.kosherjellyfish.com/test/index.php

Я использую [плагин проверки jQuery] [1] для своей формы.

У меня есть поля формы внутри таблиц, которые генерируются динамически: количество таблиц зависит от того, сколько пользователей создано. Пример таблицы ниже:

<?php (for $i=1;$i<3;$i++){?>
<table class="coauthortable">

<tr>
<td>Title * </td>
<td>
<select name="contactTitle<? echo $i;?> ">
<option value="">Select Title</option>
<option value="Dr">Dr</option>
<option value="Miss">Miss</option>
<option value="Mr">Mr</option>
<option value="Mrs">Mrs</option>
<option value="Ms">Ms</option>
<option value="Professor">Professor</option>
</select>
</td>
</tr>

<tr>
<td>First Name *</td>
<td><input type="text" name="contactFirstName<? echo $i;?>" style="width:280px;" /></td>
</tr><!--Actual program has more rows-->

</table>
<?php }  ?>

Я хочу добавить правила проверки в динамически сгенерированные поля ввода: кажется, что я не могу сделать это правильно в самом методе проверки, потому что я не знаю фактического числа полей, которые будут сгенерированы:

$("#papersubmitform").validate(
{
rules:{
//Can't add rules this way as I do not know how many rows will be generated.
contactTitle: {required: true},
contactFirstName: { required:true},

});

Я попытался добавить правила, которые будут добавлены в $ (document) .ready (function () после загрузки страницы, но, похоже, это не работает.

$(document).ready(function() {
$(".coauthortable").each(function(i){
$(this).find(":input").each(function(){
$(this).rules("add",{required:true});
});
});

$("#papersubmitform").validate();});

У кого-нибудь есть какие-либо рекомендации относительно того, что мне следует сделать, чтобы добавить правила к динамически создаваемым элементам?

Я создал образец страницы здесь на моем собственном сервере … http://www.kosherjellyfish.com/test/index.php

1

Решение

Вам просто нужно сделать это в обратном порядке:

$(document).ready(function() {
$("#papersubmitform").validate();

$(".coauthortable").each(function(i){
$(this).find(":input").each(function(){
$(this).rules("add",{required:true});
});
});
});
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]