{hero}

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' }
		]
	});
});