【问题标题】:Get clicked cell on kendo ui grid change event在 kendo ui 网格更改事件上获取单击的单元格
【发布时间】:2014-07-20 16:40:38
【问题描述】:

我正在处理剑道用户界面网格的更改事件。

在事件处理程序中,我想获取调用更改事件的单击单元格。我需要该单元格才能扫描其内容。

有什么想法吗?

【问题讨论】:

标签: kendo-ui kendo-grid


【解决方案1】:

它实际上在文档中有很好的记录: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,但 parentNode 返回正文。 this.dataItem(of body) 返回未定义。
  • 我的代码与parentNode 配合得很好,我可以通过这种方式获取数据项。获得它的另一种方法是item = this.dataItem(selected[i].closest("tr")); 我不确定我是否了解您的需求。如果您想要&lt;td&gt; 元素,可以尝试以下操作:selected[i].outerHTML
【解决方案2】:

要选择点击编辑的表格单元格,只需使用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;
}

【讨论】:

    猜你喜欢
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多