我正在使用jquery validation plugin
,并且它不适用于动态添加的行
我的code
是:
HTML
<form action="test.php" onsubmit="return false;">
<div id="add_rows">
<div class="new-row">
<input type="text" required="required" name="qty[]" /><br />
<textarea required="required" name="test[]" rows='4' cols='15'></textarea>
</div>
</div>
<button>Add</button>
</form>
脚本:
var frm=$('form').validate({
submitHandler: function(form) {
// do other stuff for a valid form
alert('form submitted');
return false;
}
});
$('button').on('click',function(){
$clone=$('.new-row:first').clone();
$clone.find('input,textarea').val('');
$clone.insertAfter($('.new-row:last'));
$clone.find('input,textarea').rules('add',{required:true});
$('.new-row:last').find('input,textarea').rules('add',{required:true});
});
另一个问题,我在我的系统上尝试了它,我得到的错误如下:TypeError: e is null
对于行$clone.find('input,textarea').rules('add',{required:true});
,如果我删除然后错误不来,
但fiddle
答案 0 :(得分:2)
试试这个,我想这就是你想要的
为textarea添加了唯一名称并输入。
var incr = 0;
$('button').on('click',function(){
incr++;
$clone=$('.new-row:first').clone();
$clone.find('input,textarea').val('');
$clone.find('input').attr('name','qty'+incr+'[]');
$clone.find('textarea').attr('name','test'+incr+'[]');