layui使用记录
datatable 中 使用 radio
table.render({
elem: '#table_2304' //指定原始表格元素选择器(推荐id选择器)
, height: 500 //容器高度
, width: table_width
, cellMinWidth: 100
, cols: [[
//{ checkbox: true }
{ type: 'radio',title:'选择' },
{ field: 'Yibaojsid', title: '医保结算表主键', minWidth: 160 },
]] //设置表头
, id: 'Yibaojsid'//var checkStatus = table.checkStatus('idTest'); //idTest 即为基础参数 id 对应的值
, url: "@Url.Action("ChuLiGongJuCX", "WHGL")"
, where: { renyuanbh: renyuanbh, yewulx: yewulx, jiuzhenid: jiuzhenid, jiesuanid: jiesuanid, jiekoulx: jiekoulx, xiaoxiid: xiaoxiid}
, method:"post"
, page: true
, limit: 10
, request: {
pageName: 'pageNum' //页码的参数名称,默认:page
, limitName: 'pageSize' //每页数据量的参数名,默认:limit
}
, done: function (res, curr, count) {
if (count>0) {
$("#div_table").show();
$("#table_2304").show();
}
if (count == 0) {
layer.alert(res.Message);
$("#div_table").hide();
}
//如果是异步请求数据方式,res即为你接口返回的信息。
//如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
//console.log(res);
//console.log(curr);//得到当前页码
//console.log(count);//得到数据总量
}
});
table.on('radio(table_lay_filte)', function (obj) { var yewulx = $("#yeWuLX").val();//业务类型 var jiekoulx = $("#jieKouLX").val(); //接口类型 if (jiekoulx == '0') { obj.checked = false; layer.alert('未选择接口类型!'); } var data = obj.data; $("#uitxtjiuzhenid").val(data.Yibaojylsh); console.log(data); if (jiekoulx == '2208' || jiekoulx == '2305') { var jiesuanId = data.Jiesuanid; if (jiesuanId =='null' || jiesuanId == '') { $("#uitxtjiesuanid").val(jiesuanId); } else { layer.alert('未检测到结算ID,请补全信息或者更改调用接口!'); } } if (jiekoulx == "2601") { var yiyaojgjsId = data.Yiyaojgjsid; if (yiyaojgjsId == 'null' || yiyaojgjsId == '') { $("#uitxtxiaoxiid").val(yiyaojgjsId); } else { layer.alert('未检测到结算ID,请补全信息或者更改调用接口!'); } } //console.log(obj); //当前行的一些常用操作集合 //console.log(obj.checked); //当前是否选中状态 //console.log(obj.data); //选中行的相关数据 //var data = obj.data; //alert(JSON.stringify(data)); //选中radio,适用于局部(单表) // obj.tr.find("input[lay-type='layTableRadio']").prop("checked",true); // form.render('radio'); //标注选中样式 //obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click'); });
<table id="table_2304" class="layui-table" lay-filter="table_lay_filte"> </table>
// 点击选中,再点击取消选中,defaultChecked 是存储是否已经选中的状态。
table.on('radio(test)', function(obj){ //test 是 table 标签对应的 lay-filter 属性 var that = this; var elem = layui.$(that).prev(':radio'); if(elem.prop('defaultChecked')) { obj.checked = false; elem.prop('checked' , obj.checked); } obj.tr.siblings('tr').find(':radio[lay-type="layTableRadio"]').each(function(e){ this.defaultChecked= false; }) var tableName = obj.tr.parents('.layui-table-view').attr('lay-id');;// 表名 var index = obj.tr.data('index') //重置数据单选属性 layui.each(layui.table.cache[tableName], function (i, item) { if (index === i) { item.LAY_CHECKED = obj.checked; } else { delete item.LAY_CHECKED; } }); elem.prop('defaultChecked', obj.checked); layui.form.render('radio'); });
/** * 设置表格取消选中 * @param tableName demo 表名 * @param field id 属性 * @param values [1,2,3]数组,区别字符串和数值,为空就是全部取消选中 */ function setTableChecked(tableName, field, values) { // 设置缓存选中 var thisData = layui.table.cache[tableName] || [];//tableName 表名 thisData.forEach(function (item) { item.LAY_CHECKED = values.includes(item[field]) ? false : item.LAY_CHECKED; layui.$('#' + tableName).next('.layui-table-view').find('tr[data-index="' + item.LAY_TABLE_INDEX + '"]') .find(':checkbox[name="layTableCheckbox"],:radio[lay-type="layTableRadio"]').prop('checked', item.LAY_CHECKED); }); layui.form.render(); }
setTableChecked("demo", 'id', [10000,10001,