角绑带绑定datePicker无法使用开始和结束日期?

时间:2013-10-22 13:34:36

标签: angularjs angular-strap

我使用角度带datePicker

<input type="text" name="dateFrom" ng-model="dateFrom" bs-datepicker                           
    data-end-date="{{endDate}}" data-start-date="{{startDate}}" />

当从DOM中更新的代码更改endDate或startDate时,但是日期选择器仍然没有意识到这种变化,是否需要触发某种更新?

更改是通过ng-click在同一范围内执行,然后为endDatestartDate设置新值。

像这样(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 setEndDatesetStartDate方法:

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"

1 个答案:

答案 0 :(得分:1)

尝试使用setStartDate()和setEndDate()调用:

http://bootstrap-datepicker.readthedocs.org/en/latest/methods.html#setstartdate

或者您可以查看Angular人员现在提供的日期选择器,因此它在Angular中具有特别好的集成:http://angular-ui.github.io/bootstrap/