Javascript动态添加表格行

1.Javascript如何动态添加表格行

图一
在这里插入图片描述

图二
在这里插入图片描述

1.首先要找到添加按钮代码,设置id选择器

<button type="button" id="insertRow"  class="btn btn-danger" style="background-color: #ca6307;border: none">新增一项</button>

2.写js代码,添加静态代码块

$("#insertRow").click(function (){
    let tr=''
    tr+='<tr id="row'+index+'">'
    tr+='  <td>'+index+'</td>'
    tr+='  <td>'
    tr+='    <div class="row">'
    tr+='      <select class="form-control col-md-8" name="extypeids">'
    tr+='             <option value="-1">==报销类别==</option>'
    tr+=$("#op").html()
    tr+='      </select>'
    tr+='    </div>'
    tr+='  </td>'
    tr+='  <td>'
    tr+='    <div class="row">'
    tr+='      <input type="text" name="moneys" οnkeyup="getTotal()" class="form-control col-md-6" placeholder="请输入总金额...">'
    tr+='    </div>'
    tr+='  </td>'
    tr+='  <td>'
    tr+='    <div class="row">'
    tr+='      <input type="text" name="costdescs" class="form-control col-md-6" placeholder="请输入费用说明...">'
    tr+='    </div>'
    tr+='  </td>'
    tr+='  <td>'
    tr+='    <div class="row">'
    tr+='      <button type="button" class="btn btn-danger" οnclick="deleteRow('+index+')">删除</button>'
    tr+='    </div>'
    tr+=' </td>'
    tr+='</tr>'
    // console.log(tr)
    // 把tr添加到id=detail下tbody中
    $("#detail tbody").append(tr)
    index++
})

2.如何实现表格新添行的序号递增

1.设置一个初始变量索引
2.在方法内部添加++运算,每调用一次方法执行一次

//报销添加开始
let index=1
 index++

3.如何执行删除一行

1.设置一个删除提醒弹窗
2.使用jQuery的删除方法remove

//删除一行
function  deleteRow(index)
{
    if(confirm("真的删除?"))
    {
        $("#row"+index).remove()
    }
}

4.如何计算图一的总金额

1.首先要知道图一的总金额是图二的金额增加之和
2.其次要知道当改动图二的某一行金额时,图一的金额必须实时的改动
3.所以要在图二的金额input标签设置一个onkeyup触发事件,当修改完后会实时计算

<input type="text" name="moneys" onkeyup="getTotal()" class="form-control col-md-6" placeholder="请输入总金额...">'
//得到总金额
function  getTotal()
{
    //正则表达式:验证正数和0
    let reg_int=/^\d+$/
    let total=0
    $("input[name=moneys]").each(function (index,obj){
        if(!$(this).val().match(reg_int))
        {
            total+=0;
            $(this).val(0)
        }
        else
        {
            total+=parseInt($(this).val())
        }

    })
    $("#total").val(total)
}
<input name="total" id="total" type="text" readonly="readonly" style="border: none" value="110">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值