columns.editField
自:Editor 1.4
定义哪一栏应该触发编辑。
请注意 - 此属性需要 DataTables 的 Editor 扩展。
描述
Editor inline()
和 bubble()
方法根据页面上的特定元素(通常是表格单元格)触发单个字段编辑,并将尝试根据给定的表格单元格确定在 Editor 表单中应编辑哪个字段。
但是,自动检测并非总是可能的,尤其是在处理联接数据库表时,在该数据库表中,在 DataTable 显示栏中显示标签值非常常见,但在编辑行数据时却会编辑相关值(例如数据库 ID 栏)。
此选项提供了告诉 Editor 在使用 inline()
和 bubble()
激活特定栏进行编辑时,应编辑哪些字段的功能。
此选项可以接受的值由用于 Editor 表单的字段名定义(fields.name
)。在这里可以使用 Editor 实例中定义的任何字段名作为值。
在 Editor 1.5 中,对于 bubble()
编辑,此选项可以是字段名数组,以便一次显示多个可编辑字段。
类型
此选项可以采用以下类型
默认值
- 值:
null
Editor 将尝试根据 DataTables 的初始化选项自动确定要编辑的字段。如果无法进行此操作并且未指定 columns.editField
选项,将发出警告。
示例
使用 editField
选项对表格进行内联编辑,针对最后一列 - 请注意,表格中显示的数据是 sites.name
,而编辑的值是 users.site
$(document).ready(function () {
var editor = new DataTable.Editor({
ajax: '../php/join.php',
table: '#example',
fields: [
{
label: 'First name:',
name: 'users.first_name'
},
{
label: 'Last name:',
name: 'users.last_name'
},
{
label: 'Phone #:',
name: 'users.phone'
},
{
label: 'Site:',
name: 'users.site',
type: 'select'
}
]
});
// Activate an inline edit on click of a table cell
$('#example').on('click', 'tbody td', function (e) {
editor.inline(this);
});
new DataTable('#myTable', {
ajax: {
url: '../php/join.php',
type: 'POST'
},
columns: [
{ data: 'users.first_name' },
{ data: 'users.last_name' },
{ data: 'users.phone' },
{ data: 'sites.name', editField: 'users.site' }
]
});
});