Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在单击每行剑道网格时调用单个函数_Javascript_Jquery_Angularjs_Events_Kendo Grid - Fatal编程技术网

Javascript 如何在单击每行剑道网格时调用单个函数

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

我有一个剑道网格“mysubmissionsGrid”,我需要通过单击或双击每一行来调用一个函数。我怎样才能做到这一点

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