Welcome

首页 / 脚本样式 / JavaScript / LayUI使用table加载数据之后,列表全选取值问题汇总

LayUI使用table加载数据之后,列表全选取值问题汇总

一、正常使用table.render()时,


checkStatus = table.checkStatus();
console.log(checkStatus);
checkData = checkStatus.data; (checkData.length === ){
    layer.msg(,{icon:});
}
ids=;
(p checkData)
{
    it=checkData[p];
    ids=ids==?it.artid:ids++it.artid;
}

可以通过上述方法取得复选中被选中的值。


二、当table.render中使用了done:function(){}方法之后

,id:"tableIns"
,done:function(){
    tableData = table.cache.tableIns;
}

此时在使用(一)中所使用的方法将不起作用。通过table.checkStatus().data将获取不到选中的结果。

此时应该将tableData声名为全局变量,在table.render({})中加入done方法,

在取得复选框选中值时使用:

var ids="";
$(".laytable-cell-checkbox").each(function(i,item){
    var index=$(item).parent("td").parent("tr").attr("data-index");
    if($(item).find(".layui-form-checked").length>0){
        var it=tableData[index];
        ids=ids==""?it.artid:ids+","+it.artid;
    }
});
if(ids=="")
{
    return layer.msg('请选择数据',{icon:5});
}

以上的区别仅在于在table.render({})中是否使用了done:function(),如果使用了,则使用(二)中使用的方法取得选中的值,否则使用第一种。