Проверка Jquery для динамически добавляемых строк с несколькими элементами с одинаковым именем [duplicate]

0

Добавление строки таблицы динамически на основе некоторого count

        var del_count=$("#trainee_count").val();
        var row_counter=0;
        for(var i=0;i<del_count;i++){
        row_counter++;
        $(".add_trainee").append(   
            '<tr>'+
                '<td><input type="text" name="name"  class="required"  /></td>'+
                '<td><input type="text" name="jobTitle"  /></td>'+
                '<td><input type="text" name="email"  id="email" class="required email"  /></td>'+
                '<td><input type="text" name="phone" class="required phone"   /></td>'+
                '<td  class="my_laptop" align="center" valign="middle"><input type="checkbox" class="laptop_checkbox"   name="isLaptopRequired.'+row_counter+'"  checked /></td>'+
            '</tr>' 

            );
        }

В основном я пытаюсь сделать проверку для нескольких элементов с тем же именем.

Проверка:

    $(".traineeDetailsForm").validate({ 
                errorContainer: "#error_div",
                errorPlacement: function(error, element) {}
            });

я может иметь "n" количество строк, у которых будет "n" количество элементов с одинаковым именем. Здесь проверка применяется только к первой строке (tr)

Теги:
jquery-validate

2 ответа

1

Вы не можете проверять несколько входов, имеющих одно и то же name. Плагин jQuery Validate требует, чтобы каждый вход содержал уникальное name потому что name - это то, как плагин отслеживает входные данные.

Решение состоит в том, чтобы просто использовать счетчик как часть name гарантируя его уникальность, точно так же, как вы сделали с вашим флажком...

$(".add_trainee").append(   
        '<tr>'+
            '<td><input type="text" name="name' + count + '"  class="required"  /></td>'+
            '<td><input type="text" name="jobTitle' + count + '"  /></td>'+
            '<td><input type="text" name="email' + count + '"  id="email" class="required email"  /></td>'+
            '<td><input type="text" name="phone' + count + '" class="required phone"   /></td>'+
            '<td  class="my_laptop" align="center" valign="middle"><input type="checkbox" class="laptop_checkbox"   name="isLaptopRequired.'+row_counter+'"  checked /></td>'+
        '</tr>' );

Также см. Этот ответ: qaru.site/questions/4208459/...

-2

Используйте.each() для проверки нескольких элементов с тем же именем.

$(".traineeDetailsForm").each(function () {
     $(this).validate({ 
          errorContainer: "#error_div",
          errorPlacement: function(error, element) {}
     });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню