2

我在将 jQuery 的日期选择器与 AngularJS ng-grid 扩展集成时遇到问题;更具体地说,jQuery 日期选择器无法将数据推回 ng-grid,而是抛出此错误:未捕获此日期选择器的缺失实例数据所有关于此错误消息的研究都与它在 ng-grid 中的使用无关。

在这个小提琴中重新创建的问题:http: //jsfiddle.net/ADukg/2363/

任何帮助或解释将不胜感激。谢谢!

var myApp = angular.module('myApp', ['ui', 'ngGrid']);

function Ctrl($scope) {

    $scope.data = [{
        "Title": "Title",
        "Date": new Date("01/03/1970")

    }];

    $scope.kpiGridOptions={data:'data',
        enableCellEdit:true,
                columnDefs:[{field:'Title', displayName:'Title'},
            {field:'Date', displayName:'Date', editableCellTemplate:'<input ui-date ui-date-format ng-model="row.entity[col.field]">'}]
    }
};
4

1 回答 1

4

好像您只是有几个选项不正确。editableCellTemplate应该设置为true并且您应该在cellTemplate.

http://jsfiddle.net/ADukg/2370/

$scope.kpiGridOptions = { 
    data:'data',
    enableCellEdit:true,
    columnDefs: [
        { field:'Title', displayName:'Title'},
        { field:'Date', displayName:'Date', editableCellTemplate: true, cellTemplate: 
          '<input ui-date ui-date-format ng-model="row.entity[col.field]">' }
    ]
}

此外,"Date": new Date("01/03/1970")会导致input字段中不显示默认日期。但是,将分配更改为字符串表示可以解决此问题,正如您在jsfiddle中看到的那样。我现在没有时间弄清楚为什么会这样,希望这对您来说不是问题。

希望这可以帮助。

于 2013-04-18T03:09:06.943 回答