4
votes

I am handling the change event of the kendo ui grid.

In the event handler, I would like to get the cell that was clicked that invoked the change event. I need the cell in order to scan its contents.

Any thoughts?

2
You can find the answer in the below link stackoverflow.com/a/38847739/3327597 - Vinothkumar

2 Answers

5
votes

It's actually very well documented in the documentation: http://docs.telerik.com/kendo-ui/api/web/grid#events-change

Here's the example code if you have the grid configured for multiple cell selection (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
    }
}
0
votes

In order to select the table cell that was clicked to edit, simply use e.container. There are a number of options given from the event handler. Here's a few:

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;
}