【发布时间】:2016-12-12 10:58:37
【问题描述】:
我无法以角度打开日期选择器。目标是获取日期范围,因此当我更改 dateStart 时,第二个日历应该会自动打开,但它不会。
我错过了什么?
已修复
似乎是 open-on-focus 指令的问题
工作 jsfiddle : http://jsfiddle.net/9dfLawtz/
var app = angular.module('myApp', ['ngMaterial']);
app.controller('MyCtrl', ['$scope','$timeout', function MyCtrl ($scope,$timeout) {
$scope.dateFormat = '';
$scope.dateEnd = '';
$scope.dateStart = '';
$scope.changeDateStart = function(){
var myEl = angular.element( document.querySelector( '#dateEnd' ) );
myEl.focus();
$scope.test = true;
myEl.parent().find("input").focus();
}
}]);
HTML:
<div ng-app="myApp">
<h2>Focus on each input and press 'enter' to see its name</h2>
<div ng-controller="MyCtrl">
<button ng-click="openDatePicker()">
Click
</button>
<md-datepicker id="dateStart"
ng-model="dateStart" ng-change="changeDateStart()">
</md-datepicker>
<md-datepicker id="dateEnd"
ng-model="dateEnd" md-placeholder="dateEnd" md-open-on-focus>
</md-datepicker>
<p>input : {{ dateFormat }}</p>
</div>
【问题讨论】:
-
你的小提琴看起来不错。我看不出有什么问题。在 safari 和 chrome 中测试
-
将日期改成第一个日历时第二个日历不打开,在chrome 55、safari、firefox上测试
标签: javascript angularjs datepicker angular-material