表格里加入表单元素,怎么获取当前行的其他信息

提问 已结 4 464
Angel丨灬泪雨
悬赏:20飞吻
版本:layui 2.5.5 浏览器:谷歌
表格里加入表单元素 --开关按钮,根据文档描述,只能获取input的相关信息,也没有查到怎么自定义属性,来获取当前行的数据id, 没有id就无法修改数据库信息;
回帖
  • IDyun
    2020-1-15
    form.on('switch(flag)', function (obj) {
    obj.elem.checked = !obj.elem.checked
    form.render();
    layer.confirm("确定要操作吗?", function (index) {
    obj.elem.checked = !obj.elem.checked;
    form.render();
    $.post('../updateFlag', {
    id: obj.value,
    flag: Number(obj.elem.checked)
    }, function (result) {
    layer.msg(result.msg);
    if(result.code != 0){//失败
    obj.elem.checked = !obj.elem.checked;
    form.render();
    }
    }).error(function (e){
    layer.msg('操作失败',0);
    obj.elem.checked = !obj.elem.checked;
    form.render();
    })
    layer.close(index);
    });
    })
    <script type="text/html" id="switchTpl">
    <input type="checkbox" lay-filter="flag" name="flag" value="{{d.id}}" lay-skin="switch" lay-text="是|否" {{Boolean(+d.flag) && 'checked' }} >
    </script>
     {
    field: flag',
    title: '标记',
    align: 'center',
    width: 80,
    templet: '#switchTpl'
    },
    0 回复
  • c299
    2020-1-15
    form.on(...,function(obj){
    var index = $(this).closest('tr').data('index');
    var trData = table.cache['你的表格'].index; //获取当行的所有数据
    })
    0 回复
  • @c299 你好 那怎么使点击开关的时候 弹出询问框 点击取消后,开关状态不变呢;
    我现在的状态是:点击开关按钮, 弹出询问框 ,在点击取消,列表里的开关状态就改变了
    0 回复
  • c299
    2020-1-15
    @Angel丨灬泪雨 监听复选框事件,弹窗询问框,确定回调进行修改操作,取消回调进行回退操作。利用obj.elem 的prop将复选框设置为操作前的状态。修改完后重新渲染一下。form.render()
    0 回复