在angular js中获取datepicker指令的值

时间:2016-09-07 22:58:16

标签: javascript jquery angularjs datepicker

这是我之前使用的代码......

pug

以单选按钮的形式显示日期列表。这将所选日期保存在<div class="date_menu" ng-repeat="singledate in dates"> <p> {{singledate}} <input type="radio" name="filterDateChosen2" ng-model="$parent.radioResult" ng-value="singledate"> </p> </div></div> ,然后我可以使用...

访问它
$parent.radioResult

但是现在,我想使用jQuery datepicker而不是......

<button ng-click="getVar(radioResult)"...

如果选择日期,输入框将显示...

myApp.directive('calendar', function () {
    return function(scope, element, attrs) {
       element.datepicker({
           inline: true,
           dateFormat: 'dd-mm-yy',
           onSelect: function(dateText) {
               var modelPath = $(this).attr('ng-model');
               var val = $(this).attr('ng-value');
               putObject(modelPath, val, scope, dateText);
               scope.$apply();
           }
       });
   }
});

但问题是,当我使用......时,

<input calendar ng-model="$parent.radioResult" />

它没有得到价值,我无法弄清楚为什么?这是什么原因?

1 个答案:

答案 0 :(得分:0)

由于您使用的是不在Angular上下文中的JQuery Datepicker,因此您需要首先将选定的日期设置为范围内的变量,如下面

,将它带入Angular的上下文中。
 $scope.$apply(function () {
    $scope.dateValue = selectedDate;
 });