layui监听表单开关后做出询问框

本文介绍如何在layui框架中使用表格控件实现商品上下架功能。通过监听表格中的开关状态变化,弹出确认对话框并执行相应的后端API调用以更新商品状态。文章详细展示了具体的JavaScript代码实现及HTML结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<div class="layui-row" style="margin-top: 6px">
	<div class="layui-col-xs12">
		<table id="lists" lay-filter="demoEvent"></table>
	</div>
</div>
cols: [[ //表头
        {field: 'sg_status', title: '上下架',templet:"#titleTpl"}
    ]]





layui.use('form', function(){
    var form = layui.form
        ,layer = layui.layer
    //监听指定开关
    form.on('switch(switchTest)', function(data){
        var this_data = data.othis;
	//          console.dir($(this_data).text());
        var txt = '';
        if ($(this_data).text() == 'OFF'){
            txt = '下架后修理厂均无法采购,是否确认?';
        }else{
            txt = '是否确认上架此商品?';
        }
        //询问框
        layer.confirm(txt, {
            btn: ['确定','取消'], //按钮
            cancel: function(index, layero){//右上角关闭后执行
                ser_on();
            }
        }, function(){//确定
            var input = data.elem;
            var id =  $(input).attr("data-id");
            $.post('{:U("api/goods/update_status")}',{'swg_id':id},function(data){
                //console.log(data);
                if(data.success){
                    layer.msg(data.msg);
                }else{
                    layer.msg(data.msg);
                    function refreshCount() {
                        ser_on();
                    }
                }
            });
        }, function(){//取消
            ser_on();
        });
    });
});
<script type="text/html" id="titleTpl">
	{{#  if(d.wg_status == 1){ }}
	<div class="layui-form-item"><input type="checkbox"  lay-filter="switchTest" data-id="{{d.wg_id}}" checked="" name="switch" lay-skin="switch" lay-text="ON|OFF"></div>
	{{#  } else { }}
	<div class="layui-form-item"><input type="checkbox"  lay-filter="switchTest" data-id="{{d.wg_id}}"  name="switch" lay-skin="switch" lay-text="ON|OFF"></div>
	{{#  } }}
</script>

 

要在layui开关中提交表单,你可以使用layui的form模块和switch开关组件结合起来。首先,确保你已经引入了layui的相关文件。 然后,你可以使用下面的代码示例来实现: HTML代码: ```html <form class="layui-form" action="" lay-filter="formDemo"> <div class="layui-form-item"> <label class="layui-form-label">开关</label> <div class="layui-input-block"> <input type="checkbox" name="switch" lay-skin="switch" lay-text="ON|OFF" lay-filter="switchDemo"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="submitDemo">提交</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </form> ``` JavaScript代码: ```javascript // layui表单模块初始化 layui.use('form', function(){ var form = layui.form; // 监听开关的状态变化事件 form.on('switch(switchDemo)', function(data){ // 如果开关状态为开启 if(data.elem.checked){ // 提交表单 form.on('submit(submitDemo)', function(){ // 表单提交的逻辑处理 // ... return false; // 阻止表单跳转 }); } else{ // 关闭开关时,取消表单提交事件 form.off('submit(submitDemo)'); } }); }); ``` 这样,当你打开开关时,点击提交按钮会触发表单提交事件,你可以在其中处理表单数据的提交逻辑。当关闭开关时,提交按钮将不会触发表单提交事件。 注意:上述代码中的lay-filter属性可以自定义,但需要保持一致性。另外,你可能还需要自行处理表单数据的收集和提交方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值