Kendo 网格复选框获取最后选择的值
Kendo grid checkbox get last selected value
我有 kendo 个带有 select 选项的网格。我的问题是如何从最后 selected 行得到 ProductName
?例如 this。我试过这个但是 row
是空的。感谢您的帮助。
function onChange(e) {
var rows = e.sender.select();
rows.each(function(e) {
var grid = $("#grid").data("kendoGrid");
var row = $(e.target).closest("tr"); //<-- this value capture null
var dataItem = grid.dataItem(row);
var productName = dataItem.ProductName;
alert(productName);
})
};
只需使用 grid.select()
inside grids change
函数:
function onChange(e) {
var grid = $("#grid").data("kendoGrid");
var selectedItem = grid.dataItem(grid.select());
console.log(selectedItem.ProductName)
};
each
中函数的参数不正确。
这会导致名称屏蔽:https://en.wikipedia.org/wiki/Name_resolution_(programming_languages)#Name_masking
在外层,你有:
function onChange(e) {
然后,在第三行,你有:
rows.each(function(e) {
这是e
的两个功能。那么哪个 e
算数?内层 掩盖了外层 。
内部函数的正确参数是:
rows.each(function(index, row) {
现在,您已经在遍历行,所以您拥有该行,您不需要使用任何 closest()
.
来查找它
你也有网格,它是e.sender
,因为你在网格事件中。
这将为您提供以下代码:
function onChange(e) {
var rows = e.sender.select();
rows.each(function(index, row) {
console.log(row);
var dataItem = e.sender.dataItem(row);
console.log(dataItem);
var productName = dataItem.ProductName;
console.log(productName);
})
};
以后注意Kendo事件和jQuery事件的区别
我有 kendo 个带有 select 选项的网格。我的问题是如何从最后 selected 行得到 ProductName
?例如 this。我试过这个但是 row
是空的。感谢您的帮助。
function onChange(e) {
var rows = e.sender.select();
rows.each(function(e) {
var grid = $("#grid").data("kendoGrid");
var row = $(e.target).closest("tr"); //<-- this value capture null
var dataItem = grid.dataItem(row);
var productName = dataItem.ProductName;
alert(productName);
})
};
只需使用 grid.select()
inside grids change
函数:
function onChange(e) {
var grid = $("#grid").data("kendoGrid");
var selectedItem = grid.dataItem(grid.select());
console.log(selectedItem.ProductName)
};
each
中函数的参数不正确。
这会导致名称屏蔽:https://en.wikipedia.org/wiki/Name_resolution_(programming_languages)#Name_masking
在外层,你有:
function onChange(e) {
然后,在第三行,你有:
rows.each(function(e) {
这是e
的两个功能。那么哪个 e
算数?内层 掩盖了外层 。
内部函数的正确参数是:
rows.each(function(index, row) {
现在,您已经在遍历行,所以您拥有该行,您不需要使用任何 closest()
.
你也有网格,它是e.sender
,因为你在网格事件中。
这将为您提供以下代码:
function onChange(e) {
var rows = e.sender.select();
rows.each(function(index, row) {
console.log(row);
var dataItem = e.sender.dataItem(row);
console.log(dataItem);
var productName = dataItem.ProductName;
console.log(productName);
})
};
以后注意Kendo事件和jQuery事件的区别