jQuery 新手,请求帮助解决我无法弄清楚的问题。
克隆的表行包含一个<input type="text" name="dt[]" id="dt1">
字段。下面是被克隆的模板行。
<table id="MyTable" name="MyTable">
<tr name="tr3" id="tr3">
<td>
<input type="text" name="dt[]" id="dt1">
</td>
<td>
<input type="file" name="fff[]" id="ff1">
</td>
</tr>
</table>
用户可能会创建其中的几个字段,我试图弄清楚如何遍历它们并在提交表单之前验证它们中是否有文本。
请注意,我必须使用 jQuery .on() 方法来访问表单元素。循环需要如何编码?最初,我一直在尝试这个(已编辑):
$(document).on('click','#sub1',function() {
var d1 = $("[name^=dt]").val();
alert(d1);
if (d1 !=""){
$("#TheForm").submit();
} else {
alert("Empty fields!");
}
});
还有这个:
var d1 = $("#dt1").val();
alert(d1);
还有这个:
var d1 = $("#^dt").val();
alert(d1);
但一直无法获取数据。
编辑:根据要求,此代码克隆该行:
$(document).on('click', '#add_row', function() {
$("table#MyTable tr:nth-child(4)")
.clone()
.show()
.find("input, span").each(function() {
$(this)
.val('')
.attr('id', function(_, id) {
var newcnt = id + count;
return id + count;
});
})
.end()
.appendTo("table")
;
count++;
if (count == 2) {
$('#add_row').prop('disabled', 'disabled');
}
}); //end add_row Function