jquery点击增加div

点击添加模块

  1. 使用字符串拼接,将代码拼接好使用append()函数
  2. 使用clone()函数
    $(selector).clone(true|false)
    |参数| 描述|
    |–|--|
    |true| 规定需复制事件处理程序。|
    |false| 默认。规定不复制事件处理程序。|

例子在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <link href="../layui/css/layui.css" rel="stylesheet" type="text/css" />
    <link href="../css/xadmin.css" rel="stylesheet" type="text/css" />
    <link href="../layui/css/modules/layui-extend-icon/iconfont.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../layui/layui.js"></script>
    <script type="text/javascript" src="../js/xadmin.js"></script>
</head>

<body>
    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 10px;">
        <legend>步骤编辑
            <i class="layui-icon layui-icon-add-circle" style="font-size: 1.2em;cursor: pointer;" id="Addbtn"></i>
            <i class="layui-icon layui-icon-close" style="font-size: 1.2em;cursor: pointer;" id="Reducebtn"></i>
            <i id="clone" style="font-size: 1.2em;cursor: pointer;" >克隆</i>
        </legend>
    </fieldset>
    <div id="descArea">
        <div class="layui-form-item" >
            <label class="layui-form-label" >
                <span class="x-red">*</span>1</label>
            <div class="layui-inline ">
                <div class="layui-input-inline">
                    <input type="text" id="desc" lay-verify="required" name="desc[]" required="" autocomplete="off" class="layui-input" placeholder="description">
                </div>
                <input class="layui-btn" type="button" value="Picture" onclick="upload('desc',1)">
            </div>
        </div>
    </div>

    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 10px;">
        <legend>步骤描述
            <i class="layui-icon layui-icon-add-circle" style="font-size: 1.2em;cursor: pointer;" id="stepAddbtn"></i>
            <i class="layui-icon layui-icon-close" style="font-size: 1.2em;cursor: pointer;" id="stepReducebtn"></i>
            <i style="font-size: 1.2em;cursor: pointer;" id="stepClone">克隆</i>
        </legend>
    </fieldset>
    <div id="stepArea"></div>

</body>
<script>
    // desc 点击添加
    $("#Addbtn").on('click',function(){
        let desc_count = $("#descArea>.layui-form-item").length+1;
        let html = getActionStr(desc_count, '')
        $("#descArea").append(html);
    })
    // desc 点击删除
    $("#Reducebtn").on('click',function(){
        if($("#descArea>.layui-form-item").length>1){
            $("#descArea").children("div:last-child").remove()
        }
    })
    $('#clone').on('click',function(){
        $("#descArea").children("div:last-child").clone(true).appendTo('#descArea');
    })
    // 字符串拼接
    function getActionStr(number, value){
        let actionStr = '<div class="layui-form-item" ><label class="layui-form-label"><span class="x-red">*</span>'+number+'</label><div class="layui-inline"><div class="layui-input-inline"><input type="text" id="desc" lay-verify="required" name="desc[]" required="" autocomplete="off" class="layui-input" placeholder="description" value="'+value+'"></div><input class="layui-btn" type="button" value="Picture" οnclick="upload(\'desc\','+number+')"></div></div></div>';
        return actionStr;
    }
    function upload(step, number){
        console.log('图片上传'+number)
    }
</script>
<script>
    $("#stepAddbtn").click(function(){
        let step_count = $("#stepArea>.layui-form-item").length+1;
        let html = getSimStr(step_count);
        $("#stepArea").append(html);
    })
    $("#stepReducebtn").click(function(){
        if($("#stepArea>.layui-form-item").length>0){
            $("#stepArea").children("div:last-child").remove()
        }
    })
    $("#stepClone").click(function(){
        $("#stepArea").children("div:last-child").clone(true).appendTo('#stepArea');
    })
    
    function getSimStr(number){
        let simStr = '<div class="layui-form-item"><div class="layui-inline layui-input-block"><label class="layui-form-label"><span class="x-red">*</span>title'+number+'</label><div class="layui-input-inline"><input type="text" id="title" name="title[]" required="" autocomplete="off" class="layui-input" lay-verify="required"></div></div><div class="layui-inline layui-input-block"><div class="layui-input-inline"><i class="layui-icon layui-icon-add-circle"style="font-size:1.3em;cursor: pointer;" οnclick="a($(this),'+number+')"></i><i class="layui-icon layui-icon-close" style="font-size:1.3em;cursor: pointer;" οnclick="d($(this),'+number+')"></i></div></div></div>';
        return simStr;
    }
    function getsimDescStr(pcount, mcount, desc){
        let simdescstr = '<div class="layui-form-item"><div class="layui-inline layui-input-block"><label class="layui-form-label" style="width: 150px;"><span class="x-red">*</span>Descript'+pcount+'_'+mcount+'</label><div class="layui-input-inline"><input type="text" id="desc" name="desc['+pcount+'][]" required="" autocomplete="off" class="layui-input" lay-verify="required" value="'+ desc +'"></div><div class="layui-inline layui-input-block"><label class="layui-form-label"><span class="x-red">*</span>Picture</label><input class="layui-btn" type="button" οnclick="u(\'descript\','+pcount+','+mcount+')" value="Picture"></div></div></div>';

        return simdescstr;
    }
    function a(p,pcount){
        let mcount = p.parent().parent().parent().find(".layui-form-item").length + 1
        let tempstr = getsimDescStr(pcount, mcount, '');
        p.parent().parent().parent().append(tempstr);
    }
    function d(p,pcount){
        if(p.parent().parent().parent().find(".layui-form-item").length>1){
            p.parent().parent().parent().children("div:last-child").remove()
        }
    }
    function u(step, pcount, mcount){
        console.log(step, pcount, mcount)
    }
</script>
</html>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值