JQuery点击按钮新增input框

 1.正常状态

 2.点击添加

3. 点击添加的input框后面的添加按钮

4.点击按钮刷新规则下方表格会弹出各个排列组合,价格可以修改

 5.上代码

<div class="videobox" style="margin-left:-12px;">
                        <label class="layui-form-label" style="width: 90px;">商品规格</label>
                        
                    </div>
                    <div  class="videoboxs" style="margin-left:115px;margin-top:4px;">
                        <input class="layui-btn" id="videoAddBtn" type="button" value="添加" onclick="layui.addlist()">
                        <input class="layui-btn layui-btn-normal refresh_speclist" type="button" value="刷新规格">
						<ul style="display:flex;flex-wrap:wrap;">
						    
						 </ul>
                        
                    </div>
                    <style>
                        .spec_ul{margin-top:30px;}
                        .spec_li,.specval_li{display:inline-block;width:22%;}
                        .spec_li:first-child,.specval_li:first-child{width:75%;}
                        .spec_li_son,.specval_li_son{display:inline-block;width:32%;}
                        .spec_li_son input[readonly],.specval_li_son input[readonly]{color:#929292}
                    </style>
                    <ul class="spec_ul">

                    </ul>
                    <div class="spec_val_div">

                    </div>

// 添加规格
            layui.addlist = function () {
                var len=$(".AddSpec").length +1;
                console.log(len);
                if(len>3){
                    return fasle
                }
                let number = $(".videoboxs ul li").length + 1;
                $(".videoboxs ul").append(`
                    <li style="margin-top: 6px;" class="addtypelist">
                        <div class="layui-input-inline" style="width: 40%;">
                            <input id="title`+ number + `" type="text" name="file_title" required lay-verify="required" placeholder="规格名称" autocomplete="off" class="layui-input spec_name " value=''>
                        </div>
						
						<input class="layui-btn AddSpec AddSpec`+len+`" id="videoAddBtn" type="button" value="添加">
							
                        <div class="layui-input-inline listremove" style="width: 30%;text-align: center;">
                            <span style="font-size: 16px;color: #fff;line-height: 38px;background-color: #FF5722;padding: 8px;cursor: pointer;border-radius: 5px;"> 删除</span>
                        </div>
						<div class="videoboxss">
						</div>
                    </li>
                `);
                addDelect();
            }
			// 添加规格下的参数
            $(document).on("click",".AddSpec",function(){
                var class_this='';
                if($(this).hasClass('AddSpec1')){
                     class_this='spec_val1';
                }else if($(this).hasClass('AddSpec2')){
                     class_this='spec_val2';
                }else if($(this).hasClass('AddSpec3')){
                     class_this='spec_val3';
                }
                let number = $(".videoboxss li div ").length + 1;
                	$(this).next().next('.videoboxss').append(`
                		<li style="margin-top: 6px;margin-left: 25px;" class="addtypelist">
                			<div class="layui-input-inline" style="width: 40%;">
                			    <input id="title`+ number + `" type="text" name="file_title" required lay-verify="required" placeholder="规格值" autocomplete="off" class="layui-input spec_val `+class_this+`">
                			</div>
                			<div class="layui-input-inline Slistremove" style="width: 30%;text-align: center;">
                			    <span style="font-size: 16px;color: #fff;line-height: 38px;background-color: #FF5722;padding: 8px;cursor: pointer;border-radius: 5px;"> 删除</span>
                			</div>
                		</li>
                	`);
                	addDelect();
            })
// 刷新规格
            $(document).on('click','.refresh_speclist',function () {
                $('.spec_val_div').html('');
                $('.spec_val1').each(function(){
                    var val=$(this).val();
                    console.log()
                    if($('.spec_val2').length>0){
                        if($('.spec_val3').length>0){
                            $('.spec_val2').each(function(){
                                var val2=$(this).val();
                                $('.spec_val3').each(function(){
                                    var val3=$(this).val();
                                    $('.spec_val_div').append(
                                        '<ul class="specval_ul"> ' +
                                        '<li class="specval_li"> ' +
                                        '<ul class="specval_ul_son">' +
                                        '<li class="specval_li_son"><input class="layui-input" name="spec_val_price" value="'+val+'"></li>' +
                                        '<li class="specval_li_son"><input class="layui-input" value="'+val2+'"></li>' +
                                        '<li class="specval_li_son"><input class="layui-input" value="'+val3+'"></li>' +
                                        '</ul> ' +
                                        '</li> ' +
                                        '<li class="spec_li"> ' +
                                        '<input class="layui-input" type="text" value="价格"> ' +
                                        '</li> ' +
                                        '</ul>'
                                    );
                                })
                            })


                        }else{
                            $('.spec_val2').each(function(){
                                var val2=$(this).val();
                                $('.spec_val_div').append(
                                    '<ul class="specval_ul"> ' +
                                    '<li class="specval_li"> ' +
                                    '<ul class="specval_ul_son">' +
                                    '<li class="specval_li_son"><input class="layui-input" value="'+val+'"></li>' +
                                    '<li class="specval_li_son"><input class="layui-input" value="'+val2+'"></li>' +
                                    '</ul> ' +
                                    '</li> ' +
                                    '<li class="spec_li"> ' +
                                    '<input class="layui-input" type="text" value="价格"> ' +
                                    '</li> ' +
                                    '</ul>'
                                );
                            })
                        }
                    } else{
                        $('.spec_val_div').append(
                            '<ul class="specval_ul"> ' +
                            '<li class="specval_li"> ' +
                                '<ul class="specval_ul_son">' +
                                    '<li class="specval_li_son"><input class="layui-input" value="'+val+'"></li>' +
                                '</ul> ' +
                            '</li> ' +
                            '<li class="spec_li"> ' +
                            '<input class="layui-input" type="text" value="价格"> ' +
                            '</li> ' +
                            '</ul>'
                        );
                    }
                })
            })

layui是一个轻量级的前端UI库,用于快速构建Web应用。如果你想在layui中动态地嵌套并管理输入,你可以通过JavaScript操作DOM来实现。下面是一个简单的步骤说明: 1. **HTML结构**: 首先,在HTML中创建一个基础的骨架,比如一个div,用于存放动态生成的input: ```html <div id="dynamic-inputs"> <!-- 动态生成的input将会在这里 --> </div> ``` 2. **初始化函数**: 使用JavaScript编写一个函数,例如`initInputs()`,用于创建、添加和删除input: ```javascript function initInputs() { // 创建一个新的input元素 var input = document.createElement('input'); input.type = 'text'; input.placeholder = '请输入'; // 添加到容器里 document.getElementById('dynamic-inputs').appendChild(input); // 删除事件处理 input.addEventListener('click', function(e) { if (e.target.tagName === 'INPUT') { // 只删除点击input e.target.parentNode.removeChild(e.target); // 删除当前input } }); } // 调用初始化函数 initInputs(); ``` 3. **动态添加**: 如果你需要在用户需求变化时增加新的input,可以在适当的地方调用`initInputs()`,比如按钮点击事件: ```javascript $('#addInputBtn').on('click', function() { initInputs(); // 每次点击添加input }); ``` 4. **注意事项**: - 这里假设你已经引入了layui的js文件,并且对jQuery或原生JS有一定的了解。 - 动态删除时需要考虑是否有其他依赖于这个input的数据处理逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值