我使用角度带datePicker
<input type="text" name="dateFrom" ng-model="dateFrom" bs-datepicker
data-end-date="{{endDate}}" data-start-date="{{startDate}}" />
当从DOM中更新的代码更改endDate或startDate时,但是日期选择器仍然没有意识到这种变化,是否需要触发某种更新?
更改是通过ng-click
在同一范围内执行,然后为endDate
和startDate
设置新值。
像这样(CoffeeScript):
$scope.setDateRange = (dateRange) ->
if dateRange is "past"
$scope.endDate = "-1d"
$scope.startDate = ""
if dateRange is "now"
$scope.endDate = ""
$scope.startDate = ""
if dateRange is "future"
$scope.endDate = ""
$scope.startDate = "+1d"
修改
以下是解决方案:
在控制器构造函数上,我将日期存储到控件:
dateFromCtrl = $element.find 'input[name="dateFrom"]'
dateToCtrl = $element.find 'input[name="dateTo"]'
然后,当调用setDateRange
时,我使用了一些辅助方法来调用datepicker
setEndDate
和setStartDate
方法:
setEndDate = (date) ->
dateFromCtrl.datepicker 'setEndDate', date
dateToCtrl.datepicker 'setEndDate', date
setStartDate = (date) ->
dateFromCtrl.datepicker 'setStartDate', date
dateToCtrl.datepicker 'setStartDate', date
setDateRange = (dateRange) ->
if dateRange is "past"
setEndDate "-1d"
setStartDate ""
if dateRange is "now"
setEndDate ""
setStartDate ""
if dateRange is "future"
setEndDate ""
setStartDate "+1d"
答案 0 :(得分:1)
尝试使用setStartDate()和setEndDate()调用:
http://bootstrap-datepicker.readthedocs.org/en/latest/methods.html#setstartdate
或者您可以查看Angular人员现在提供的日期选择器,因此它在Angular中具有特别好的集成:http://angular-ui.github.io/bootstrap/