JS实现动态添加和删除div(基于bootstrap)

本文介绍了一种在前端页面中动态添加和删除表单元素的方法,使用HTML、CSS和JavaScript实现,适用于需要处理数组类型字段的场景。通过点击按钮,用户可以增加或减少表单内的还款明细项,每项包括应收金额、还款期数和还款科目。

背景

需要做一个页面,页面表单可以输入参数,点击确认按钮可以发请求给某个接口。但是接口的某个字段是数组类型,所以在页面上需要实现添加或者删除元素的功能。

实现

html

前端是基于bootstrap4.0.

<form id="form" role="form" method="post" class="custom-control">
        <div class="form-inline">
        <label for="details" class="custom-control-label col-md-2">还款明细</label>
        <button type="button" class="button btn-light" id="add-btn" onclick="add_div()">添加明细</button>
        <button type="button" class="button btn-light" id="del-btn" onclick="del_div()">删除明细</button>
    </div>
    <div class="form-group" id="details">
        <div class="form-inline">
            <label for="receivable" class="custom-control-label col-md-3">应收金额</label>
            <input type="text" class="form-control" id="receivable" value="" placeholder="应收金额 单位分"/>
        </div>
        <div class="form-inline">
            <label for="period" class="custom-control-label col-md-3">还款期数</label>
            <input type="text" class="form-control" id="period" value="" placeholder="还款期数"/>
        </div>
        <div class="form-inline">
            <label for="kind" class="custom-control-label col-md-3">还款科目</label>
            <input type="text" class="form-control" id="kind" value="" placeholder="还款科目"/>
        </div>
    </div>
</form>

JS

<script type="text/javascript">
    var detail_div = 1;
    function add_div() {
        var e = document.getElementById("details");
        var div = document.createElement("div");
        div.className = "form-group";
        div.id = "details" + detail_div;
        div.innerHTML = e.innerHTML;
        document.getElementById("form").appendChild(div);
        detail_div++;
    }

    function del_div() {
        var id = "details" + (detail_div - 1).toString();
        var e = document.getElementById(id);
        document.getElementById("form").removeChild(e);
        detail_div--;
    }
</script>

效果

如图
实现效果

参考

感谢!
CraftsmanChen - JS实现动态添加和删除DIV
和他的写法还是有差异的,大家可以对比着看。

如果觉得有用,请点赞支持。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值