需求
在表格中用 select 選擇數據並返回到后台
實現
所用擴展
碼雲鏈接
大佬已經介紹了如何使用,以下是我個人的使用記錄
使用情況(代碼並不是連貫的)
layui.config({
base: '/static/layui/'
}).extend({
tableEdit: 'tableEdit/tableEdit'
});
var params = [
{ name: "text", value: "text" },
{ name: "keyword", value: "keyword" },
{ name: "integer", value: "integer" },
{ name: "date", value: "date" },
{ name: "boolean", value: "boolean" },
{ name: "byte", value: "byte" },
{ name: "short", value: "short" },
{ name: "long", value: "long" },
{ name: "float", value: "float" },
{ name: "double", value: "double" }
];
var cols = table.render({
id: 'field',
elem: '#demo',
type: 'checkbox'
, width: 600
, height: 'full-200'
, url: path + 'table/field/' + url + '/' + database + '/' + t
, cols: [[ //表頭
{ type: 'checkbox' },
{ field: 'columnName', title: '字段' },
{ field: 'columnType', title: '類型' },
{
field: 'esType', align: 'center', title: '<a style="color:red">映射類型(點擊可更換)</a>'
, width: 200
, event: 'esType', config: { type: 'select', data: params, verify: true }
, templet: function (d) {
if (d.esType) {
if (d.esType.value) {
return d.esType.value;
}
return d.esType;
}
return ''
}
}
]]
}).config.cols;
var aopTable = tableEdit.aopObj(cols); //獲取一個aop對象
aopTable.on('tool(test)', function (obj) {
var field = obj.field; //單元格字段
var value = obj.value.name; //修改后的值
var data = obj.data; //當前行舊數據
var event = obj.event; //當前單元格事件屬性值
var update = {};
update[field] = value;
//把value更新到行中
obj.update(update);
/**
*說白了,此obj與table.on('tool(tableEvent)',function (obj) {})
*中的obj對象是同一個,所以可以如此操作。
*
* */
});