Angularjs Ng选择在Ng选择从第一个选择框中选择下一个值

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

我有一个选择框,其中包含年份(比如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];
});