【发布时间】:2014-07-20 16:40:38
【问题描述】:
我正在处理剑道用户界面网格的更改事件。
在事件处理程序中,我想获取调用更改事件的单击单元格。我需要该单元格才能扫描其内容。
有什么想法吗?
【问题讨论】:
-
你可以在下面的链接stackoverflow.com/a/38847739/3327597找到答案
标签: kendo-ui kendo-grid
我正在处理剑道用户界面网格的更改事件。
在事件处理程序中,我想获取调用更改事件的单击单元格。我需要该单元格才能扫描其内容。
有什么想法吗?
【问题讨论】:
标签: kendo-ui kendo-grid
它实际上在文档中有很好的记录:http://docs.telerik.com/kendo-ui/api/web/grid#events-change
如果您将网格配置为多个单元格选择 (selectable: "multiple, cell"),以下是示例代码:
change: function(e) {
var item;
var selected = this.select(); //get selected cell(s)
for (var i = 0; i < selected.length; i++) {
item = this.dataItem(selected[i].parentNode); //get selected cell's dataItem
}
}
【讨论】:
parentNode 配合得很好,我可以通过这种方式获取数据项。获得它的另一种方法是item = this.dataItem(selected[i].closest("tr")); 我不确定我是否了解您的需求。如果您想要<td> 元素,可以尝试以下操作:selected[i].outerHTML
要选择点击编辑的表格单元格,只需使用e.container。事件处理程序提供了许多选项。这里有一些:
change: function (e) {
//jQuery object containing the cell
var cell = e.container;
//jQuery object containing the input
var field = cell.find("input");
//value in the input
var fieldVal = field.val();
//or, on one line:
fieldVal = e.container.find("input").val();
//also, if you happen to want the data model for that row
var model = e.model;
}
【讨论】: