点击按钮实现表格动态添加或删除一行

表格html

<form action="" id="mytable" > 

<table id="table2" class="table normalFont " style="float: content;text-align: content;margin-top: 0px">
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;名称</td><td>测量范围</td><td>不确定度</td><td>证书编号</td><td>有效期</td>
</tr>
<c:forEach items="${uwd}" var="item" varStatus="i">
<tr>
<td>
<c:choose>
                          <c:when test="${1==i.count}">
                            <img οnclick="addRowg(0)" src = "${ctx }/Images/danceradd.jpg" style="width: 18px;height:18px;cursor:pointer" />
                          </c:when>
                          <c:otherwise>
                             <img οnclick="delRow(this.parentNode.parentNode.rowIndex)" src = "${ctx }/Images/dancerdel.jpg" style="width: 18px;height:18px;cursor:pointer" />
                          </c:otherwise>
                       </c:choose>
<input type="text" name="username" style="width:100px;"  value="${item.username }"/></td>
<td><input type="text" name="measuringrange" style="width:100px;"  value="${item.measuringrange }"/></td>
<td><input type="text" name="uncertainty" style="width:100px;"  value="${item.uncertainty }"/></td>
<td><input type="text" name="certificate_number" style="width:100px;"  value="${item.certificate_number }"/></td>
<td><input type="text" name="vld" id="youxiaoqi" value="${item.vld}" style="width:100px"
οnclick="WdatePicker({ isShowClear: false, readOnly: true,dateFmt:'yyyy-MM-dd'})"/></td>
<td><input style="display: none" type="text" name="id" style="width:100px;"  value="${item.id }"/></td>
</tr>
       </c:forEach>

</table>

</form>

js代码

//动态添加一行

function addRowg(){

        var rows = document.getElementById('table2').rows.length ; //获取表格行数

//var newTr =document.getElementById('table2').insertRow(1)  //添加到第一行,默认最后一行

        var colsNum=table2.rows[rows -1].cells.length;//获取行的列数,我这里没有用到也没有试过,不行的话评论告诉我。
if(rows=="6"){   //业务需求最多添加至5行
return;
}
var newTr = table2.insertRow();//添加一行
var newTd0 = newTr.insertCell();//第一列

newTd0.setAttribute("align","center");//添加一个样式
newTd0.innerHTML = '<img οnclick="delRow(this.parentNode.parentNode.rowIndex)" src = "${ctx }/Images/dancerdel.jpg" style="width: 18px;height:18px;cursor:pointer" />&nbsp;<input type="text" name="username" style="width:100px;"  value=""/>';
var newTd1 = newTr.insertCell();//第二列
newTd1.innerHTML = '<input type="text" name="measuringrange" style="width:100px;"  value=""/>';
var newTd2 = newTr.insertCell();//第三列
newTd2.innerHTML = '<input type="text" name="uncertainty" style="width:100px;"  value=""/>';
var newTd3 = newTr.insertCell();//第四列
newTd3.innerHTML = '<input type="text" name="certificate_number" style="width:100px;"  value=""/>';
var newTd4 = newTr.insertCell();//第五列
newTd4.innerHTML = '<input type="text" name="vld" id="youxiaoqi" value="" style="width:100px" οnclick="WdatePicker({ isShowClear: false, readOnly: true})"/>';
var newTd5 = newTr.insertCell();//第六列
newTd5.innerHTML = '<input style="display: none" type="text" name="id" style="width:100px;"  value=""/>';
}


//动态删除1行
function delRow(rowIndex){
   var tbobj=document.getElementById('table2');
   if(rowIndex==-1){
       if(tbobj.rows.length>1){
           tbobj.deleteRow(tbobj.rows.length-1);
       }
   }else{
        tbobj.deleteRow(rowIndex);
   }
}

//最后附上展示图,这是点击添加按钮后的效果,请忽略我巨丑的图标,嘎嘎嘎......



  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实现这个功能,你需要以下几个步骤: 1. 在 iView table 中,添加两个按钮,一个用于删除行,一个用于添加行。 2. 在按钮的 click 事件中,分别调用 table 的 remove() 和 append() 方法来删除添加行。 3. 要实现点击外部按钮删除行的功能,你需要在页面中使用 ref 来获取到 table 的实例,然后在按钮的 click 事件中,通过 $refs.table 来调用 remove() 方法。 4. 同样的,要实现点击外部按钮添加行的功能,你也需要在页面中使用 ref 来获取到 table 的实例,然后在按钮的 click 事件中,通过 $refs.table 来调用 append() 方法。 下面是一个示例代码: ```html <template> <div> <Button @click="removeRow">删除行</Button> <Button @click="addRow">添加行</Button> <Table :data="tableData" ref="table"> <TableColumn prop="name" label="姓名"></TableColumn> <TableColumn prop="age" label="年龄"></TableColumn> <TableColumn prop="address" label="地址"></TableColumn> </Table> </div> </template> <script> export default { data() { return { tableData: [ { name: '张三', age: 18, address: '北京市' }, { name: '李四', age: 20, address: '上海市' }, { name: '王五', age: 22, address: '广州市' }, ], }; }, methods: { removeRow() { this.$refs.table.remove(this.tableData[0]); }, addRow() { this.$refs.table.append({ name: '赵六', age: 24, address: '深圳市' }); }, }, }; </script> ``` 在这个示例中,我们在 iView table 中添加了两个按钮,并分别绑定了 removeRow() 和 addRow() 两个方法。在这两个方法中,我们分别通过 $refs.table 来调用了 table 的 remove() 和 append() 方法来删除添加行。同时,我们也使用了 ref 来获取到了 table 的实例。这样,就可以实现在外部按钮删除添加 table 表格行的功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值