动态添加行的jQuery验证具有多个具有相同名称的元素 [英] Jquery Validation for dynamically added rows that has multiple element with same name
问题描述
根据某些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屋!