本文实例讲述了原生JS和JQuery动态添加、删除表格行的方法。分享给大家供大家参考。具体分析如下:
下面HTML代码作用:提交一个表单,将复选框的值提交(复选框的值等于后面的文本框,复选框和文本框处在同一行,可以动态添加和删除)。
原生态JS版:
javascript添加行demo
删除";
}
/**删除行对象*/
function delRow(obj){
//obj.parentNode.parentNode.removeNode(true); // Firefox不兼容
var new_tr = obj.parentNode.parentNode;
var tmp = new_tr.parentNode;
tmp.removeChild(new_tr); // 删除子节点
}
/**将文本框值赋给同一行对应的复选框*/
function setValue(obj,obj_chk){
obj_chk.value = obj.value;
}
function doSubmit(frm){
if(isValidChkSelect(frm) == false){
alert("选择不能少于一项");
return false;
}
for(var i = 0; i < document.getElementsByTagName("input").length; i++) {
var obj = document.getElementsByTagName("input")[i];
if(obj.type == "text" && obj.name.substring(0,6) == "newRow"){
var obj_chk = obj.parentNode.parentNode.childNodes[0].childNodes[0];// 复选框对象
if(valid(obj,obj_chk)){
setValue(obj,obj_chk);// 同一行的文本框值 赋值给 复选框
continue;
} else {
return false;
}
}
}
return true;
}
function valid(obj,obj_chk){
if(obj_chk.checked){
var patrn = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(obj.value == ""){
alert("添加的地址不能为空!");
return false;
}
if(!patrn.test(obj.value)){
alert("请输入正确的邮件地址!");
return false;
}
}
return true;
}