{field: 'type', title: '类型',templet: '#type-2-tpl'},
模板内容:
<script type="text/html" id="type-2-tpl">
<select class="layui-border type-2-select" lay-ignore>
<option value="">请选择</option>
<option value="text" {{=d.type=='text'?'selected':'' }}>文本</option>
<option value="check" {{=d.type=='check'?'selected':'' }}>选项</option>
<option value="check-text" {{=d.type=='check-text'?'selected':'' }}>选项和文本</option>
</select>
</script>
在table的done处理原生 select 事件:
done: function(res, curr, count){
var options = this;
let tableId = options.id;//对应当前表格的ID,即=itemFieldSrcTable2
// // 原生 select 事件
var tableViewElem = this.elem.next();
tableViewElem.off('change').on('change', '.type-2-select', function(){
var value = this.value; // 获取选中项 value
var data = active.getRowData(options.id, this); // 获取当前行数据(如 id 等字段,以作为数据修改的索引)
// 更新数据中对应的字段
data.type = value;
// 显示 - 仅用于演示
// layer.msg('选中值: '+ value +'<br>当前行数据:'+ JSON.stringify(data));
// console.log("change.data",data)
});
soulTable.render(this);
}
其中active.getRowData(options.id, this); 获取当前行数据:
getRowData:function (tableId, elem){
var index = $(elem).closest('tr').data('index');
return table.cache[tableId][index] || {};
},