0
我的要求是获取选定选项并更新div。我在下面的代码中模拟了我的需求。如何将选择选项标签字段的值或选定文本传递给函数参数
我应该让用户只选择startDate和endDate之间的月份结束(我已经在下面的代码中完成了这部分)。但我无法更新所选日期。我只能访问“不是”标签或文本中的“值”属性。
http://jsfiddle.net/priyaa2002/xpcbounr/3/
<div ng-app="myApp">
<div ng-controller="DateCtrl">
<div class="edit__table__field"><p>{{myEnrollment.coverageEndDate}}</p></div>
<select ng-model="myEnrollment.coverageEndDate" ng-options="value as coverageEndDate for (value, coverageEndDate) in
terminationDates"
ng-change="newTerminationDate(myEnrollment.coverageEndDate)" >
<option value="">Select your new Termination Date</option>
</select>
</div>
</div>
JS
angular.module('myApp', [])
.controller('DateCtrl', function($scope){
$scope.myEnrollment = {
coverageStartDate: '01/01/2016',
coverageEndDate: '06/01/2016'
};
var startDate = new Date ($scope.myEnrollment.coverageStartDate);
var endDate = new Date ($scope.myEnrollment.coverageEndDate);
var startMonth = startDate.getMonth();
var endMonth = endDate.getMonth();
var year = endDate.getFullYear();
function convertDate(date) {
var parts = date.toString().split(" ");
var months = {
Jan: "01",
Feb: "02",
Mar: "03",
Apr: "04",
May: "05",
Jun: "06",
Jul: "07",
Aug: "08",
Sep: "09",
Oct: "10",
Nov: "11",
Dec: "12"
};
return months[parts[1]]+"/"+parts[2]+"/"+parts[3];
};
var pickDates = endMonth - startMonth;
$scope.terminationDates = [];
for (var i=0; i < pickDates; i++){
var lastDay = new Date(year, i + 1, 0);
var formatedDate = convertDate(lastDay);
$scope.terminationDates.push(formatedDate);
}
$scope.newTerminationDate = function(coverageDate) {
$scope.myEnrollment.coverageDate = "hello";
}
});
您选择选项的绑定数组中不包含传递给您的ng模型的'06/01/2016'。这就是为什么没有选择默认情况下 –
这是你的数组包含[“01/31/2016”,“02/29/2016”,“03/31/2016”,“04/30/2016”,“05/31/2016“] –
06/01/2016是开始日期。那已经在那里了。用户可以编辑endDate,他们只能在开始日期和结束日期之间选择月末 – dragonfly