根据某些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)
答案 0 :(得分: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>' );
答案 1 :(得分:-1)
使用.each()验证具有相同名称的多个元素。
$(".traineeDetailsForm").each(function () {
$(this).validate({
errorContainer: "#error_div",
errorPlacement: function(error, element) {}
});
});