Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 在ng网格中访问选择元素_Javascript_Jquery_Angularjs_Ng Grid_Angularjs Ng Change - Fatal编程技术网

Javascript 在ng网格中访问选择元素

Javascript 在ng网格中访问选择元素,javascript,jquery,angularjs,ng-grid,angularjs-ng-change,Javascript,Jquery,Angularjs,Ng Grid,Angularjs Ng Change,我有以下网格选项: $scope.ngOptions = { data: 'data', columnDefs: [ {field: 'Status', displayName: "Status", cellTemplate: selectTableTemplate, enableCellEdit: true}, {cellTemplate: '<button ng-click="update(col, r

我有以下网格选项:

$scope.ngOptions = {
        data: 'data',
        columnDefs: [
             {field: 'Status', displayName: "Status", cellTemplate: selectTableTemplate, enableCellEdit: true},
             {cellTemplate: '<button ng-click="update(col, row)">' + Save + '</button>', enableCellEdit: false }]
    };


var selectTableTemplate = "<select ng-model='Status' ng-change='changeToFirst(Status, row)'>" +
                                '<option value="1" class="ng-binding" ng-selected="COL_FIELD == 1">' + 1 + "</option>" +
                                '<option value="2" class="ng-binding" ng-selected="COL_FIELD == 2">' + 2 + "</option>"</select>";

但我确信这不是正确的方法,您不需要编写处理函数来更新数据中的值。Angular ng模型将为您制作。假设数据对象中有“状态”字段:

$scope.checkStatusChange = function (entity){
      console.log(entity.Status);
};

var selectTableTemplate = '<select ng-model="row.entity.Status" ng-change="checkStatusChange(row.entity)">' +
                                     '<option value="1" ng-selected="row.entity.Status == 1">1</option>' +
                                     '<option value="2" ng-selected="row.entity.Status == 2">2</option>' +
                          '</select>';
$scope.checkStatusChange=函数(实体){
控制台日志(实体状态);
};
var selectTableTemplate=''+
'1' +
'2' +
'';

引用“row.entity”是指向属于当前行的数据的链接。因此,您不需要直接使用“select”元素,数据绑定将发挥所有作用。“checkStatusChange”功能是为了演示而提供的。

您能提供更多信息吗?也许我是个傻瓜,不明白为什么要投票表决这个问题。您是否尝试提取所选元素并同时设置第一个元素,对吗?顺便说一句,小提琴/琴键将great@MaximShoustin编辑了我的问题我想你可以写一个自定义指令来处理所选的项目。@MaximShoustin我编辑这意味着什么给我我需要元素的状态值
$scope.checkStatusChange = function (entity){
      console.log(entity.Status);
};

var selectTableTemplate = '<select ng-model="row.entity.Status" ng-change="checkStatusChange(row.entity)">' +
                                     '<option value="1" ng-selected="row.entity.Status == 1">1</option>' +
                                     '<option value="2" ng-selected="row.entity.Status == 2">2</option>' +
                          '</select>';