如何让jQuery datepicker在带有手表的angularjs中工作?

时间:2015-10-06 13:58:28

标签: javascript jquery angularjs jquery-ui datepicker

我正在尝试在角度程序中使用jQuery datepicker。我有一个datepicker html,我使用了几次。

如果用户正在更改开始时间,我希望结束时间为一天。

我使用类(tdate)定义了jquery datepicker,它工作正常,但它并没有告诉手表日期已经改变,所以我尝试添加一个onSelect事件,使手表注意到更改。 在onSelect我应用更改,所以手表注意但它总是改变了类的范围(例如这里startTime是第一个所以无论我是否更改startTime或endTime,更改为所选日期的那个将是startTime)

如何在点击时将onSelect事件转到当前的日期选择器范围?或任何其他方式来解决这种情况

谢谢!

DateMenu.html:

<date-picker ng-model="startTime"></date-picker>
<date-picker ng-model="endTime"></date-picker>

DateMenu.js:

$scope.$watch('startTime', function ) {
    // adds a day from the start time
    $scope.endTime = new Date($scope.startTime + (1 * 24 * 60 * 60 * 1000));
});

DatePicker.html:

<input type="text" class="tdate" ng-model="t.date">

DatePicker.js:

$('.tdate').datepicker({
    onSelect: function (text) {
        var time = text.split('/');
        // the safe apply makes the watch know theres a change in t.date
        $scope.$root.safeApply(function () {
            $scope.t.date = new Date(time[1] + '/' + time[0] + '/' + time[2]); 
        });
    }
});

var dateUpdated = function () {
    // changes in other parts of the program
    $scope.ngModel = $scope.t.date.getTime();
}

$scope.$watch('t.date', dateUpdated);

1 个答案:

答案 0 :(得分:0)

你可以做这样的事情

<强> HTML

.ipa

<强>脚本

<date-picker ng-model="t.date"></date-picker>

Demo