layui 数据表格table 点击事件

提问 已结
13 5076
CHC云
CHC云 VIP3 2017-10-12
悬赏:20飞吻
版本:layui 2.1.5 浏览器:IE11
layui 数据表格table 的点击事件例如:
<script type="text/html" id="Demo1"> //表格的Demo1里有a,b两个按钮
<a class="layui-btn layui-btn-mini" lay-event="a">AAA</a>
<a class="layui-btn layui-btn-mini" lay-event="b">BBB</a>
</script>
看了很多遍文档,还是不是很明白的问题,
问题:如何让 lay-event=a 的点击 从而模拟执行b的点击
简单说就是点击 lay-event=a 执行 lay-event=b
/////////js代码
table.on('tool(demoEvent)', function(obj){
var data = obj.data;
if(obj.event === 'a'){ //a的点击
//需求 执行b
}
if(obj.event === 'b'){ //b的点击
alert("我被点击了");
}
});
回帖
  • 你这样写没问题 前提是你要在设置表头上面设置点击事件
    0 回复
  • 你写的那个是工具条事件
    <script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-mini" lay-event="detail">查看</a>
    <a class="layui-btn layui-btn-mini" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-mini" lay-event="del">删除</a>

    <!-- 这里同样支持 laytpl 语法,如: -->
    {{# if(d.auth > 2){ }}
    <a class="layui-btn layui-btn-mini" lay-event="check">审核</a>
    {{# } }}
    </script>

    //监听工具条
    table.on('tool(test)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
    var data = obj.data; //获得当前行数据
    var layEvent = obj.event; //获得 lay-event 对应的值
    var tr = obj.tr; //获得当前行 tr 的DOM对象

    if(layEvent === 'detail'){ //查看
    //do somehing
    } else if(layEvent === 'del'){ //删除
    layer.confirm('真的删除行么', function(index){
    obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
    layer.close(index);
    //向服务端发送删除指令
    });
    } else if(layEvent === 'edit'){ //编辑
    //do something

    //同步更新缓存对应的值
    obj.update({
    username: '123'
    ,title: 'xxx'
    });
    }
    });
    1 回复
  • 模版里貌似不能用那个事件
    0 回复
  • <script type="text/html" id="Demo1"> //表格的Demo1里有a,b两个按钮
    <a class="layui-btn layui-btn-mini" onclick="function(0)">AAA</a>
    <a class="layui-btn layui-btn-mini" onclick="function(1)">BBB</a>
    </script>
    0 回复
  • CHC云
    2017-10-12
    @用个名字真难 不会吧 是表单里写两个a标签 并且js设置点击啊,说不清楚 我感觉你没有理解本屌丝的意思[阴险]
    0 回复
  • CHC云
    2017-10-12
    @用个名字真难 哥 我想写成在
    这样的 而不是直接onclick去执行[馋嘴]

    if(obj.event === 'a'){ //a的点击
    //需求 执行b
    }
    if(obj.event === 'b'){ //b的点击
    alert("我被点击了");
    }
    0 回复
  • @CHC云 lay-event="a" 这个是数据表格 表头上面的事件
    0 回复
  • CHC云
    2017-10-12
    @用个名字真难 就是啊 我要的就是这个意思[嘻嘻]
    刚想起来一个方法:比如我这样写可以吗?

    if(obj.event === 'a'){ //a的点击
    //需求 执行b
    obj.event = 'b';
    }
    0 回复
  • {field:'name', title: '名称', width:110,event:'a'}
    0 回复
  • CHC云
    2017-10-12
    @用个名字真难 嗯嗯,没问题就行 ,我明白了 点击事件这些我都写了,不过为了简单 没有写在帖子上,怕大家觉得麻烦,昨天试了一宿 无果,哈哈,非常感谢大神的指点
    0 回复
本帖已设置禁止回复