layUI 监听单列事件

//创建表格
        myTable = table.render({
            elem: '#myTable'
            ,url: '{:url("buy/buy/datalist")}'+curSearch
            ,page: {
                limit: 20
            }
            ,size: 'sm' //小尺寸的表格
            ,even:true
            ,limits: [20,50,100,200,500]
            ,defaultToolbar: ['filter', 'exports']
            ,height: $(document).height() - $('#myTable').offset().top - 25
            ,toolbar: ['<p>',
                // '{if $auth[1] == 1}<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon">&#xe640;</i>批量删除</button>{/if}',
                '{if $auth[0] == 1}<button lay-event="add" class="layui-btn layui-btn-sm icon-btn" data-type="add"><i class="layui-icon">&#xe654;</i>新增</button>&nbsp;{/if}',
                '{if $auth[2] == 1}<button lay-event="edit" class="layui-btn layui-btn-sm icon-btn layui-bg-blue edit" data-type="edit"><i class="layui-icon">&#xe642;</i>修改</button>&nbsp;{/if}',
                '{if $auth[0] == 1}<button lay-event="copy" class="layui-btn layui-btn-sm icon-btn layui-bg-blue" data-type="copy"><i class="layui-icon">&#xe641;</i>复制</button>&nbsp;{/if}',
                '{if $auth[2] == 1}<button lay-event="examine" class="layui-btn layui-btn-sm icon-btn layui-bg-blue examine" data-type="examine"><i class="layui-icon">&#xe6b2;</i>审核</button>&nbsp;{/if}',
                '{if $auth[2] == 1}<button lay-event="frozen" class="layui-btn layui-btn-sm icon-btn layui-bg-blue frozen" data-type="frozen"><i class="layui-icon">&#xe6b1;</i>冻结</button>&nbsp;{/if}',
                '{if $auth[2] == 1}<button lay-event="supplier" class="layui-btn layui-btn-sm icon-btn layui-bg-blue supplier" data-type="supplier"><i class="layui-icon">&#xe609;</i>发送给供应商</button>&nbsp;{/if}',
                '{if $auth[2] == 1}<button lay-event="willpay" class="layui-btn layui-btn-sm icon-btn layui-bg-blue willpay" data-type="willpay"><i class="layui-icon">&#xe65e;</i>付款申请</button>&nbsp;{/if}',
                '{if $auth[2] == 1}<button lay-event="ware" class="layui-btn layui-btn-sm icon-btn layui-bg-blue ware" data-type="ware"><i class="layui-icon">&#xe68e;</i>入库</button>&nbsp;{/if}',
                '{if $auth[2] == 1}<button lay-event="return" class="layui-btn layui-btn-sm icon-btn layui-bg-blue return" data-type="return"><i class="layui-icon">&#xe609;</i>退货</button>&nbsp;{/if}',
                '{if $auth[2] == 1}<button lay-event="invoice" class="layui-btn layui-btn-sm icon-btn layui-bg-blue invoice" data-type="invoice"><i class="layui-icon">&#xe638;</i>发票</button>&nbsp;{/if}',
                '{if $auth[1] == 1}<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn del" data-type="del"><i class="layui-icon">&#xe640;</i>删除</button>&nbsp;{/if}',
                '{if $auth[3] == 1}<button lay-event="query" class="layui-btn layui-btn-sm icon-btn" data-type="query"><i class="layui-icon">&#xe63c;</i>单据联查</button>&nbsp;{/if}',
                '{if $auth[3] == 1}<button lay-event="change" class="layui-btn layui-btn-sm icon-btn change" data-type="change"><i class="layui-icon">&#xe631;</i>采购变更单</button>&nbsp;{/if}',
                // '{if $auth[0] == 1}<button lay-event="refresh" class="layui-btn layui-btn-sm icon-btn" data-type="refresh"><i class="layui-icon">&#xe669;</i>刷新当前页</button>&nbsp;{/if}',
                // '{if $auth[3] == 1}<button lay-event="export" class="layui-btn layui-btn-sm icon-btn" data-type="export"><i class="layui-icon">&#xe601;</i>导出数据</button>&nbsp;{/if}',
                '</p>'
            ].join('')
            ,filter: {
                items:['column','data','condition','editCondition','excel','clearCache'],
                cache: true
            }
//			,even: true //开启隔行背景
  			// ,size: 'sm' //小尺寸的表格
            ,totalRow: true //合计行
			// ,limit: 2 //分页记录条数
            // ,page: true //是否开启分页
            ,cols: cols //表格列的配置
			,parseData: function(res) { //res 即为原始返回的数据
                // console.log(res);
                totalMoney=0;
		        payMoney=0;
                return {
                    "code": res.code, //解析接口状态
                    "msg": res.msg, //解析提示文本
                    "count": res.data.total, //解析数据长度
                    "data": res.data.data //解析数据列表
                };
            }
            ,done: function (res) { //表格创建完毕后的回调方法
                soulTable.render(this);//设置工具栏表头高度
                //解决操作栏因为内容过多换行问题
                $(".layui-table-main tr").each(function (index, val) {
                    $($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
                    $($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
                });
                //解决fixed固定,而导致的th高度不一致
                $(".layui-table-main tr").each(function (index, val) {
                    $(".layui-table-fixed").each(function () {
                        $($(this).find(".layui-table-body tbody tr")[index]).height($(val).height());
                    });
                });
                $(".layui-table-main tr").each(function (index, val) {
                    $(".layui-table-fixed").each(function () {
                        $($(this).find(".layui-table-body tbody th")[index]).height($(val).height());
                    });
                });
                $('#myTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").children("td").on('click',function(e){
                    if($(this).attr('data-field') == 'bill_no'){
                        var id = $(this).parent().find('#id').val();
                        addTab('采购单详情',"{:url('buy/buy/detail')}?id="+id);
                    }
                    if($(this).attr('data-field') == 'relation_no'){
                        var ordersId = $(this).parent().find('#orders_ids').val();
                        var requestId = $(this).parent().find('#bill_request_ids').val();
                        var inquiryId = $(this).parent().find('#bill_inquiry_ids').val();
                        var pdId = $(this).parent().find('#pd_product_ids').val();
                        var type = $(this).parent().find('#relation_bill_type').val();
                        if(type == 1){ //订单
                            if(ordersId!=0){
                                addTab('订单详情',"{:url('crm/order/detail')}?id="+ordersId);
                            }
                        }else if(type == 2){
                           //请购
                            if(requestId!=0){
                                addTab('请购单详情',"{:url('buy/request/detail')}?id="+requestId);
                            }
                        }else if(type == 3){ //询价
                            console.log(inquiryId)
                            console.log('详情-2')
                            if(inquiryId!=0){
                                addTab('询价单详情',"{:url('buy/inquiry/detail')}?id="+inquiryId);
                            }
                        }else if(type == 4){ //生产加工单
                            if(pdId!=0){
                                addTab('生产加工单详情',"{:url('pd/production/detail')}?id="+pdId);
                            }
                        }
                    }
                });
                $('#myTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").children("td").find("button").on('click',function(e){
                    if($(this).attr('data-type') == 'attach_file'){
                        var id = $(this).parent().parent().parent().attr('data-index');
                        showFile(res.data[id], 'attachFile');
                    }
                });
                for(var i=0;i<res.data.length;i++){
                    if(res.data[i].is_locked==1||res.data[i].is_locked==2){
                        $('tr[data-index='+i+']').css('background-color','#e8e1e1');
                    }
                }
            }
        });

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用 layui 的 form 模块来监听 textarea 的输入。具体步骤如下: 1. 引入 layui 的 form 模块 ```html <script src="https://cdn.bootcdn.net/ajax/libs/layui/2.5.7/layui.all.min.js"></script> ``` 2. 在 textarea 标签中添加 lay-filter 属性 ```html <textarea lay-filter="content"></textarea> ``` 3. 使用 form.on 监听 textarea 的输入事件 ```javascript layui.use('form', function() { var form = layui.form; form.on('textarea(content)', function(data) { // 处理输入事件 console.log(data.value); // 获取 textarea 中的值 }); }); ``` 在上面的代码中,我们通过 `form.on('textarea(content)', function(data) {...})` 监听 textarea 的输入事件。其中 `textarea(content)` 表示监听的 textarea 的 lay-filter 属性的值为 content。当 textarea 中的内容发生变化时,就会触发回调函数中的代码。在回调函数中,可以通过 `data.value` 获取 textarea 中的值。 ### 回答2: Layui是一个基于jQuery的简易前端框架,它提供了一系列的组件和工具,方便开发者使用和增强网页交互效果。在Layui中,要监听textarea的变化需要借助其提供的相关函数和事件。 首先,我们可以使用Layui的form模块提供的on方法来监听textarea的变化。通过给textarea元素添加lay-verify属性来表明需要验证,并且在on方法中指定监听事件类型和回调函数。 例如: ``` <form class="layui-form"> <div class="layui-form-item"> <textarea name="content" lay-verify="content" class="layui-textarea"></textarea> </div> </form> ``` 在JavaScript中,我们可以使用如下代码来监听textarea的变化: ``` layui.use('form', function(){ var form = layui.form; form.on('textarea(content)', function(data){ // 获取变化后的textarea的值 var content = data.value; // 执行相应的操作 console.log(content); }); }); ``` 上述代码中,form.on方法会监听textarea元素,当元素的值发生变化时,回调函数将被执行。在回调函数中,我们可以通过data对象获取变化后的textarea的值。 除了使用form模块的on方法,我们还可以使用layedit模块提供的build函数来监听textarea的变化。这个函数会将textarea转化为富文本编辑器,并提供相应的事件监听。 例如: ``` <script> layui.use('layedit', function(){ var layedit = layui.layedit; // 构建编辑器 var index = layedit.build('demo', { tool: ['strong', 'italic', 'underline'] }); // 监听内容的改变 layedit.on('content(index)', function(content){ // 执行相应的操作 console.log(content); }); }); </script> ``` 上述代码中,layedit.on方法会监听编辑器内容的变化,当内容发生变化时,回调函数将被执行,并且将变化后的内容作为参数传入回调函数。 总而言之,Layui提供了多种方式来监听textarea的变化,开发者可以根据具体需求选择合适的方式来监听并处理相应的操作。 ### 回答3: layui是一款基于jQuery的前端UI框架,提供了很多方便实用的功能和插件。 要监听textarea,我们可以使用layui的form模块来实现。首先,在页面中引入layui的form模块的js文件和样式文件。 然后,我们可以通过给textarea添加lay-filter属性来定义一个过滤器,这样我们就可以在监听事件中使用该过滤器来获取到对应的textarea。 接着,在JavaScript代码中,我们可以使用layui的form.on方法来监听textarea的事件。例如,我们可以监听textarea的input事件,当输入内容发生改变时触发。 具体的代码示例如下: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Layui Textarea监听示例</title> <link rel="stylesheet" href="path/to/layui/css/layui.css"> </head> <body> <div class="layui-form"> <textarea lay-filter="textarea" placeholder="请输入内容"></textarea> </div> <script src="path/to/jquery/jquery.min.js"></script> <script src="path/to/layui/layui.js"></script> <script> layui.use(['form'], function(){ var form = layui.form; // 监听textarea输入事件 form.on('textarea', function(data){ console.log(data.value); // 输出输入的内容 }); }); </script> </body> </html> ``` 上述代码中,我们通过定义了一个带有lay-filter属性的textarea,然后在JavaScript代码中使用form.on来监听textarea的事件,当输入内容发生改变时,通过data.value可以获取到输入的内容,并进行相应的处理。 通过以上方法,我们可以很方便地使用layui监听textarea的事件,实现一些特定的业务逻辑。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值