Layuiデータテーブル内蔵ドロップダウンボックス
作業ニーズは、layuiの各データにドロップダウンボックスを追加し、ユーザー選択を提供する必要があります.その中でいくつかの問題が発生したので、ここに記録します.
//
form.on('select(selectDemo)', function (obj) {
//
table.cache['selectDemo-table'][obj.elem.getAttribute('dataId')]["partCd"] = obj.value;
});
function tableDemo(datas){
table.render({
elem: '#selectDemo-table',
id: 'selectDemo-table',
title: ' ',
cols: [[
{field: 'id', title: ' '},
{
field: 'partCd', title: ' ', templet: function (d) {
//dataId: ;data-state:
var select = ";
// ,
if (d.partCd === '0') {
select += "" +
"";
} else if (d.partCd === '1') {
select += "" +
"";
} else if (d.partCd === '2') {
select += "" +
"";
} else {
// ,
select += "" +
"";
}
select += "";
return select;
}, minWidth: 115
},
]],
limit: datas.length,// , , 10
data: datas,
done: function (res, curr, count) {
if (res.data.length !== 0) {
// ;
var tableElem = this.elem.next('.layui-table-view');
// fixed ,
$("[lay-id='rm-bs-procPlan-scheme-table'] .layui-table-box").find(".layui-table-fixed").children('.layui-table-body').css('overflow', 'visible');
// , , fixed
// $("[lay-id='bs-store-add-prodMaterial-main-table'] .layui-table-box").css('overflow', 'visible');
// $("[lay-id='bs-store-add-prodMaterial-main-table'] .layui-table-box").find('.layui-table-body').css('overflow', 'visible');
//
layui.each(tableElem.find('select[name="partCd"]'), function (index, item) {
var elem = $(item);
//
elem.val(elem.data('state')).parents('div .layui-table-cell').css('overflow', 'visible');
});
form.render();//
}
}
});
}