下拉框数据为接口返回数据
css: [ // 设置单元格样式
// 取消默认的溢出隐藏,并设置适当高度
'.layui-table-cell{height: 50px; line-height: 40px;}',
'.layui-table-cell .layui-colorpicker{width: 38px; height: 38px;}',
'.layui-table-cell select{height: 36px; padding: 0 5px;}'
].join(''),
cols: [[
{ type: 'numbers', title: '序号' },
// { field: 'id', title: 'id' },
{ field: 'classification_children', title: '分类', edit: 'text' },
{
field: 'classification_parent', title: '顶级分类', templet:
function (d) {
// 给表格添加下拉框数据
var html = '<select class="select-demo-primary" lay-ignore>';
for (let i = 0; i < data.parent.length; i++) {
if (data.parent[i].classification == d.classification_parent) {
html += `<option value="${data.parent[i].id}" selected>${data.parent[i].classification}</option>`
} else {
html += `<option value="${data.parent[i].id}">${data.parent[i].classification}</option>`
}
}
html + '</select>'
return html
}
},
{ field: 'status', title: '状态', templet: '#ID-table-demo-templet-switch' },
{ title: '操作', minWidth: 80, toolbar: '#currentTableBar', align: "center" }
]],
done: function (elem, data) {
var options = this;
// 获取当前行数据
table.getRowData = function (tableId, elem) {
var index = $(elem).closest('tr').data('index');
return table.cache[tableId][index] || {};
};
// 原生 select 事件
var tableViewElem = this.elem.next();
// console.log(options.id)
tableViewElem.find('.select-demo-primary').on('change', function () {
var value = this.value; // 获取选中项 value
var data = table.getRowData(options.id, this); // 获取当前行数据(如 id 等字段,以作为数据修改的索引)
console.log(data)
// 更新数据中对应的字段
data.classification_parent = value;
// 显示 - 仅用于演示
layer.msg('选中值: ' + value + '<br>当前行数据:' + JSON.stringify(data));
});
// 单元格普通编辑事件
table.on('edit(childrenclassification)', function (obj) {
var value = obj.value // 得到修改后的值
var data = obj.data // 得到所在行所有键值
var field = obj.field; // 得到字段
// 更新数据中对应的字段
var update = {};
update[field] = value;
obj.update(update);
// 编辑后续操作,如提交更新请求,以完成真实的数据更新
// …
// 显示 - 仅用于演示
layer.msg('编辑值: ' + value + '<br>当前行数据:' + JSON.stringify(data));
});
}