Javascript 如何在单击每行剑道网格时调用单个函数
我有一个剑道网格“mysubmissionsGrid”,我需要通过单击或双击每一行来调用一个函数。我怎样才能做到这一点Javascript 如何在单击每行剑道网格时调用单个函数,javascript,jquery,angularjs,events,kendo-grid,Javascript,Jquery,Angularjs,Events,Kendo Grid,我有一个剑道网格“mysubmissionsGrid”,我需要通过单击或双击每一行来调用一个函数。我怎样才能做到这一点 <div class="col-xs-12 col-nopadding-left col-nopadding-right" style="padding-bottom:20px;"> <!-- start my submissions grid -->
<div class="col-xs-12 col-nopadding-left col-nopadding-right" style="padding-bottom:20px;">
<!-- start my submissions grid -->
<div kendo-tooltip k-options="toolTipOptions">
<div data-grid-id="mysubmissionsGrid" id="mysubmissionsGrid" kendo-grid="mysubmissionsGrid" k-options="mysubmissionsGridOptions()">
</div>
</div>
<!-- end my submissions grid -->
</div>
这是我的.js文件
$scope.mySubmissionGridModel = {};
$scope.mysubmissionsGridOptions = function () {
return {
dataSource: $scope.generateMySubmissionDataSource(),
autoBind: false,
editable: false,
filterable: true,
groupable: true,
pageable: {
pageSizes: [10, 15, 20, 50, "all"],
numeric: false,
change: function (e) {
changePage(e, "mysubmissionsGrid");
}
},
reorderable: true,
resizable: true,
scrollable: true,
sortable: true,
toolbar: ['excel'],
excel: {
allPages: true,
fileName: "MySubmissions.xlsx"
},
columns: $scope.getMySubmissionColumns(),
filterMenuInit: function (e) {
$scope.filterMenuInit(e, "MySubmissionsGrid");
}
};
};
下面是getMySubmissionColumns配置。看起来是由于某种原因,如果我单击“提交”按钮,然后下一次单击行showDetails(),它会被正确调用,但不确定为什么第一次它永远不会被调用。有什么想法吗
$scope.getMySubmissionColumns = function () {
var regularColumns = [
{
headerTemplate: "<input class='checkboxall' type='checkbox' title='Select All' onchange='selectAllRows(\"mysubmissionsGrid\")' />",
hidden: true,
template: "<input class='checkbox' type='checkbox' onchange='selectRow(\"mysubmissionsGrid\")' /> <br> <input class='submit' type='submit' value='Details' onclick='showDetails(\"mysubmissionsGrid\")' />",
width: "130px"
},
{
attributes: { "class": "subgrid-datacell" }, headerAttributes: { "class": "subgrid-headercell" },
hidden: false,
title: "Details #",
width: "90px",
template: "<input class='submit' type='submit' value='Details' onclick='showDetails(\"mysubmissionsGrid\")' />",
},
{
attributes: {"class":"subgrid-datacell"}, headerAttributes: {"class":"subgrid-headercell"},
field: "SubmissionCode",
title: "ID #",
hidden: true,
},
{
attributes: {"class":"subgrid-datacell"}, headerAttributes: {"class":"subgrid-headercell"},
field: "Title",
title: "Title",
hidden: true,
template: "<a href='/Submission/EditSubmission/#=SubmissionID#'>#=Title#</a>",
},
{
attributes: {"class":"subgrid-datacell"}, headerAttributes: {"class":"subgrid-headercell"},
field: "EntityOrganization",
title: "Entity & Organization",
hidden: true,
},
{
attributes: {"class":"subgrid-datacell"}, headerAttributes: {"class":"subgrid-headercell"},
field: "SubmitterActionRequired",
title: "Submitter Action Required",
hidden: true,
}
];
$scope.getMySubmissionColumns=函数(){
var regular列=[
{
头模板:“,
隐藏:是的,
模板:“
”,
宽度:“130像素”
},
{
属性:{“类”:“子网格数据单元”},头属性:{“类”:“子网格头单元”},
隐藏:假,
标题:“细节#”,
宽度:“90px”,
模板:“”,
},
{
属性:{“类”:“子网格数据单元”},头属性:{“类”:“子网格头单元”},
字段:“提交代码”,
标题:“ID#”,
隐藏:是的,
},
{
属性:{“类”:“子网格数据单元”},头属性:{“类”:“子网格头单元”},
字段:“标题”,
标题:“标题”,
隐藏:是的,
模板:“”,
},
{
属性:{“类”:“子网格数据单元”},头属性:{“类”:“子网格头单元”},
字段:“实体组织”,
标题:“实体和组织”,
隐藏:是的,
},
{
属性:{“类”:“子网格数据单元”},头属性:{“类”:“子网格头单元”},
字段:“SubmitterActionRequired”,
标题:“要求提交者采取行动”,
隐藏:是的,
}
];
为了实现我所寻找的目标,我终于找到了答案。我使用可选:true,change:function(e){}并调用showDetails()函数。类似于-
$scope.mysubmissionsGridOptions = function () {
return {
dataSource: $scope.generateMySubmissionDataSource(),
autoBind: false,
editable: false,
filterable: true,
groupable: true,
pageable: {
pageSizes: [10, 15, 20, 50, "all"],
numeric: false,
change: function (e) {
changePage(e, "mysubmissionsGrid");
}
},
selectable: true,
change: function (e) {
// Get your row's data
var selectedRows = this.select();
var selectedDataItems = [];
for (var i = 0; i < selectedRows.length; i++) {
var dataItem = this.dataItem(selectedRows[i]);
showDetails(dataItem);
}
},
reorderable: true,
resizable: true,
scrollable: true,
sortable: true,
toolbar: ['excel'],
excel: {
allPages: true,
fileName: "MySubmissions.xlsx"
},
columns: $scope.getMySubmissionColumns(),
filterMenuInit: function (e) {
$scope.filterMenuInit(e, "MySubmissionsGrid");
}
};
$scope.mysubmissionsGridOptions=函数(){
返回{
数据源:$scope.generateMySubmissionDataSource(),
自动绑定:错误,
可编辑:false,
可过滤:正确,
分组:对,
可分页:{
页面大小:[10,15,20,50,“全部”],
数字:false,
更改:功能(e){
更改页面(e,“我的任务网格”);
}
},
是的,
更改:功能(e){
//获取您所在行的数据
var selectedRows=this.select();
var selectedDataItems=[];
for(var i=0;i
$scope.mysubmissionsGridOptions = function () {
return {
dataSource: $scope.generateMySubmissionDataSource(),
autoBind: false,
editable: false,
filterable: true,
groupable: true,
pageable: {
pageSizes: [10, 15, 20, 50, "all"],
numeric: false,
change: function (e) {
changePage(e, "mysubmissionsGrid");
}
},
selectable: true,
change: function (e) {
// Get your row's data
var selectedRows = this.select();
var selectedDataItems = [];
for (var i = 0; i < selectedRows.length; i++) {
var dataItem = this.dataItem(selectedRows[i]);
showDetails(dataItem);
}
},
reorderable: true,
resizable: true,
scrollable: true,
sortable: true,
toolbar: ['excel'],
excel: {
allPages: true,
fileName: "MySubmissions.xlsx"
},
columns: $scope.getMySubmissionColumns(),
filterMenuInit: function (e) {
$scope.filterMenuInit(e, "MySubmissionsGrid");
}
};