我是Angularjs的新手,我的selectBox包含两个变量(startDate和endDate):
<div>
<select class="form-control" ng-model="date.time">
<option ng-repeat="time in dateList" value="{{time.startDate}},{{time.endDate}}" >
{{time.startDate| date:'medium'}} - {{time.endDate | date:'medium'}}</option>
</select>
</div>
用户选择一段时间后,我想分别获取startDate和endDate。
答案 0 :(得分:0)
在您选择完成后,您是否尝试过查看自己的价值?您将获得放在选项value
中的字符串。
var dates = $scope.date.time.split(','),
startDate = dates[0],
endDate = dates[1];
答案 1 :(得分:0)
使用ng-options语法,您可以将整个对象设置为date.time:
<select class="form-control" ng-model="date.time" ng-options="time as ((time.startDate | date:'medium') + ' - ' + (time.endDate | date:'medium')) for time in dateList"></select>
答案 2 :(得分:0)
您在ng模型中绑定的内容将保留所选值。
在你的情况下,ng-model持有date.time,这可能不是你想要的。
此外,您应将值设置为要从选项列表中提取的数据。
请注意这一点(构造不当且速度很快)jsFiddle
HTML
<div ng-controller="MyCtrl">
<select class="form-control" ng-model="selected">
<option ng-repeat="time in dateList" value="{{time}}" >
{{time.prop}}</option>
</select>
{{selected}}
</div>
JS
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
$scope.selected = 'plz select a thing';
$scope.dateList = [{prop:'prop1'}, {prop:'prop2'}];
}