【发布时间】:2023-03-18 19:09:02
【问题描述】:
我正在使用 AngularJS UI 中的 ng-grid 来制作网格,并希望使用 jQuery datepicker 来编辑日期单元格。
问题是当日期选择器弹出窗口出现时,弹出窗口内的任何点击(无论是选择日期还是更改月份)都会模糊 ng-grid 输入字段并且发生 JS 错误“未捕获此日期选择器的缺失实例数据”。
下面的代码 sn-ps。
任何帮助表示赞赏。谢谢!
=== HTML
<div ng-controller="MyCtrl1">
<div class="gridStyle" ng-grid="gridOptions" ng-show="visible"></div>
</div>
=== 控制器中单元格的网格选项
{
field: 'loanEndDate',
displayName: 'Loan End',
enableCellEdit: true,
editableCellTemplate: '<input type="text" datepicker ng-model="$parent.currentDate" ng-input="COL_FIELD" />'
}
=== Angular JS 指令
directive('datepicker', function() {
return {
restrict: 'A',
require: '?ngModel',
scope: {},
link: function(scope, element, attrs, ngModel) {
if (!ngModel) return;
var optionsObj = {};
optionsObj.dateFormat = 'dd/mm/yy';
var updateModel = function(date) {
scope.$apply(function () {
ngModel.$setViewValue(date);
});
};
optionsObj.onSelect = function(date, picker) {
updateModel(date);
};
ngModel.$render = function() {
element.datepicker('setDate', ngModel.$viewValue || '');
};
element.datepicker(optionsObj);
}
};
});
【问题讨论】:
标签: javascript jquery angularjs datepicker ng-grid