关于layui动态添加表单(干货)

本文介绍了在招聘系统中如何实现layui动态添加表单功能,包括动态插入表单元素及保持layui样式效果的方法,通过form.render()更新渲染以解决新添加元素失效的问题。
摘要由CSDN通过智能技术生成

首先说下需求,最近做的是一个招聘系统,需要录入应聘者的信息,为了人性化我们需要动态的添加表单!

来张截图看下
动态表单
表单里面有日期,下拉选和输入框,点击添加按钮会出来下一行
动态表单

看下具体实现吧!

首先,点击添加一行需求内容这个不难。

function addstrs1(i) {
        let  iNums = getRandomNum();
        let strs1;
             strs1 = '<tr>\n' +
                 '                            <td style="display: none">\n' +
                 '                                <input type="text" name="number1" value="'+i+'">\n' +
                 '                            </td>\n' +
                 '                            <td>\n' +
                 '                                <input type="text"  name="StartTime" class="layui-input" id="test1'+iNums+'" >\n' +
                 '                            </td>\n' +
                 '                            <td>\n' +
                 '                                <input type="text" name="EndTime" class="layui-input" id="test2'+iNums+'" >\n' +
                 '                            </td>\n' +
                 '                            <td>\n' +
                 '                                <input type="text" name="Major" class="layui-input">\n' +
                 '                            </td>\n' +
                 '                            <td>\n' +
                 '                                <select name="Education" lay-filter="">\n' +
       
动态添加表单元素可以使用layui的form模块中的`form.render()`方法,具体步骤如下: 1. 给添加按钮绑定点击事件,点击时执行添加操作。 2. 在添加操作中,先获取已有的表单元素数量,然后通过jQuery或原生js动态创建一个新的表单元素,例如: ```html <div class="layui-form-item"> <label class="layui-form-label">名称</label> <div class="layui-input-block"> <input type="text" name="name[]" required lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input"> </div> </div> ``` 3. 将新创建的表单元素添加表单中,并调用`form.render()`方法进行渲染,例如: ```js // 添加操作 $("#addBtn").click(function() { var count = $("input[name='name[]']").length; var html = '<div class="layui-form-item"><label class="layui-form-label">名称</label><div class="layui-input-block"><input type="text" name="name[]" required lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input"></div></div>'; $(".layui-form").append(html); form.render(); }); ``` 动态删除表单元素可以使用jQuery或原生js的`remove()`方法,例如: ```js // 删除操作 $(".delete-btn").click(function() { $(this).parents(".layui-form-item").remove(); form.render(); }); ``` 其中,`.delete-btn`是删除按钮的类名,通过`parents(".layui-form-item")`方法找到需要删除的表单元素的父级元素。删除后记得调用`form.render()`方法重新渲染表单
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值