这是我之前使用的代码......
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" />
它没有得到价值,我无法弄清楚为什么?这是什么原因?
答案 0 :(得分:0)
由于您使用的是不在Angular上下文中的JQuery Datepicker,因此您需要首先将选定的日期设置为范围内的变量,如下面
,将它带入Angular的上下文中。 $scope.$apply(function () {
$scope.dateValue = selectedDate;
});