Do you mean something like this? 
You must enable jQuery UI Datepicker first
Then you will also create a directive for it:
app.directive('datePicker', function(){ return { restrict : "A", require: 'ngModel', link : function(scope, element, attrs, ngModel){ $(function(){ $(element).datepicker({ changeMonth: true, changeYear: true, closeText: 'Clear', showButtonPanel: true, onClose: function () { var event = arguments.callee.caller.caller.arguments[0];
In your columns, you'll also need to use client filters and a filter header template:
filters:[{ condition: checkStart}, {condition:checkEnd}],filterHeaderTemplate: '<div class="ui-grid-filter-container">from : <input style="display:inline; width:30%" class="ui-grid-filter-input" date-picker type="text" ng-model="col.filters[0].term"/> to : <input style="display:inline; width:30%" class="ui-grid-filter-input" date-picker type="text" ng-model="col.filters[1].term"/></div>'
Suppose you use momentjs. The filter functions will be:
function checkStart(term, value, row, column) { term = term.replace(/\\/g,"") var now = moment(value); if(term) { if(moment(term).isAfter(now, 'day')) return false;; } return true; } function checkEnd(term, value, row, column) { term = term.replace(/\\/g,"") var now = moment(value); if(term) { if(moment(term).isBefore(now, 'day')) return false;; } return true; }
Qi tang
source share