Kendo UI网格单元格中的工具栏菜单,菜单是从哪个行单击的
Toolbar menu in Kendo UI grid cell, which row was menu clicked from?
我有一个Kendo UI网格,其中第一列包含一个菜单,用户可以在其中选择要对项目执行的操作。
我使用的是剑道UI工具栏,只有溢出图标(我找不到更好的选项,套件中似乎没有独立的下拉菜单)。
HTML:
<div ng-controller="myController">
<div kendo-grid="lineGrid" k-options="lineGridOptions"></div>
</div>
MyController.js,列定义:
columns: [{
field: "Action",
template: "<div id='lineToolbarDiv' kendo-toolbar='lineToolbar' k-options='lineToolbarOptions' class='button-group-toolbar'></div>",
width: "80px",
attributes: { lineNo: "#= lineNo #" }
}, {
field: "itemNo", title: "Item #"
}
],
MyController.js,工具栏定义:
$scope.lineToolbarOptions = {
items: [{
type: "button", id: "menuItemA", text: "Do A", overflow: "always"
}, {
type: "button", id: "menuItemB", text: "Do B", overflow: "always"
}],
click: function (e) {
console.log("click", e.target.text());
if (e.id.indexOf("menuItemA") === 0) {
alert(e.id);
} else if (e.id.indexOf("menuItemB") === 0) {
alert(e.id);
}
}
};
Plunker:http://plnkr.co/edit/FJJmoKyAh3JoOVicUGKB?p=preview
问题:在上面的工具栏单击处理程序中,我如何知道他们在哪行使用了菜单
此外,如果有一个更干净的独立剑道菜单或类似菜单(与蓝蛋白石主题相匹配),那可能会很有趣(而且可能会让这更容易)。
为了解决您的问题,您需要知道在click
事件处理程序this
中引用toolbar
,而this.element
是HTML元素。
如果你这样做:
click: function(e) {
// Get the HTML row (tr) that contains the toolbar
var row = this.element.closest("tr");
// Get its index in the table
console.log("row", row.index());
...
}
如果您需要访问Grid DataSource中的数据项,则应该使用KendoUI grid
中的dataItem
方法。这类似于:
click: function(e) {
// Get the HTML row (tr) that contains the toolbar
var row = this.element.closest("tr");
// Get its index in the table
console.log("row", row.index());
// Get the item from the Grid DataSource
var item = $scope.lineGrid.dataItem(row);
// Show it in the console
console.log("item", item);
...
}
相关文章:
- JQuery在单击正文时隐藏上下文菜单
- 通过单击同一图标使菜单出现和消失
- 引导菜单没有't在导航栏中单击打开
- 何时可以;我的用户脚本在Javascript中触发右键单击(上下文菜单)
- 单击图像后如何创建下拉菜单?[引导/角度]
- 单击事件打开两个弹出菜单
- 单击删除下拉子菜单
- 使用Jquery创建一个具有单击和悬停功能的菜单
- 悬停时展开垂直下拉菜单,而不是单击
- 切换菜单仅在单击时打开,而不是默认情况下打开
- 单击下拉菜单时,将文本粘贴到输入框中
- 如何激活下拉菜单:在一个元素上单击768px宽度下方,在另一个元素上将鼠标悬停在768px上方
- 阻止在单击和关闭覆盖菜单css时滚动正文
- 通过单击主菜单外部关闭子菜单'不适用于IE,但适用于Firefox&铬
- 引导两个响应菜单-单击另一个菜单按钮时折叠一个菜单
- jQuery UI链接选择菜单.单击按钮时窗体将重置
- CSS 菜单 - 单击时的子菜单 (JS)
- Jquery下拉菜单.单击时,子菜单将消失.因此,如何使子菜单在单击时保持不变
- 多个下拉菜单-单击不关闭
- Accordian菜单(单击时)影响图像在下一个表格单元格中的位置