Angularjs Ng选择在Ng选择从第一个选择框中选择下一个值
我有一个选择框,其中包含年份(比如201420132012) 每个选择框都有季度,例如:(2014->{q1},2013->{q1,q2,q3,q4}) 我想要一个简单的方法来使用Ng Select上的Ng选项,它将执行以下操作 1.用户是从第一个下拉列表中选择的年份 2.根据所选可用性进行第二次下拉更新(如果用户在第一个选择框中选择2014,他将在第二个选择框中获得q1作为单个选项,但如果用户在第一个选择框中选择2013,他将在第二次下拉框中获得q1、q2、q3、q4) 我还使用了以下json:Angularjs Ng选择在Ng选择从第一个选择框中选择下一个值,angularjs,angularjs-scope,angularjs-ng-repeat,Angularjs,Angularjs Scope,Angularjs Ng Repeat,我有一个选择框,其中包含年份(比如201420132012) 每个选择框都有季度,例如:(2014->{q1},2013->{q1,q2,q3,q4}) 我想要一个简单的方法来使用Ng Select上的Ng选项,它将执行以下操作 1.用户是从第一个下拉列表中选择的年份 2.根据所选可用性进行第二次下拉更新(如果用户在第一个选择框中选择2014,他将在第二个选择框中获得q1作为单个选项,但如果用户在第一个选择框中选择2013,他将在第二次下拉框中获得q1、q2、q3、q4) 我还使用了以下json
controller('PublishersCtrl',['$scope', function($scope) {
$scope.publishers = [
{year:'All'},
{year:'2014',quarters: [{'Q1'},{'Q2'},{'Q3'}]},
{year:'2013',quarters: [{'Q1'},{'Q2'},{'Q3'}]}},
];
}]
这是我的视图代码:
<section id="filter-and-summary">
<ul id="filters">
<li>
Year
<select class="year" ng-model="publisher" ng-options="c.year for c in publishers">
</select> |
</li>
<li>
Quarter
<select class="quarter" ng-model="publisher.quarters" data-ng-options="c.quarters for c in publishers">
</select> |
</li>
<li>
-
年
|
-
一刻钟
|
-
我还附上了它应该是什么样子的样本
请帮助我理解我做错了什么,
也可能是我的json定义不正确
标记:
<ul id="filters">
<li>
Year
<select
class="year"
ng-model="selectedPublisher"
ng-options="item.year for item in publishers"
>
</select>
|
</li>
<li ng-hide="selectedPublisher.year == 'All'">
Quarter
<select
class="quarter"
ng-model="selectedQuarter"
ng-options="item for item in selectedPublisher.quarters"
>
</select>
|
</li>
</ul>
[{'Q1'},{'Q2'},{'Q3'}]}
无效。这些是对象,应该是键/值对。您只有值。选择了All
时应该显示什么?@LiadLivnat谢谢:)
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.publishers = [
{year:'All'},
{year:'2014',quarters: ['Q1','Q2','Q3']},
{year:'2013',quarters: ['Q1','Q2','Q3']}
];
$scope.selectedPublisher = $scope.publishers[1];
$scope.selectedQuarter = $scope.selectedPublisher.quarters[0];
});