动态添加行的jQuery验证具有多个具有相同名称的元素 [英] Jquery Validation for dynamically added rows that has multiple element with same name

查看:89
本文介绍了动态添加行的jQuery验证具有多个具有相同名称的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据某些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>' 

            );
        }

基本上,我正在尝试对具有相同名称的多个元素进行验证.

Basically I am trying do the validation for multiple element with same name.

验证:

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

i可能有'n'个行,将有'n'个具有相同名称的元素 此处的验证仅适用于第一行(tr)

i may have 'n' number of rows , that will have 'n' number of elements with same name Here validation applies for only the first row(tr)

推荐答案

您无法验证共享同一name的多个输入. jQuery Validate插件要求每个输入都包含一个 unique name,因为name是插件跟踪输入的方式.

You cannot validate multiple inputs sharing the same name. The jQuery Validate plugin requires that every input contain a unique name because the name is how the plugin keeps track of the inputs.

解决方案是简单地将计数器用作name的一部分,以确保其唯一性,就像您使用复选框一样...

The solution is simply to use a counter as part of the name ensuring that it's unique, just like you did with your checkbox...

$(".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>' );

也请参见以下答案: https://stackoverflow.com/a/18905194/594235

这篇关于动态添加行的jQuery验证具有多个具有相同名称的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆