我正在尝试执行以下任务: 假设我们有一个下拉列表(Dropdown1),其中包含{年,月,周,日}选项。我们还有Dropdown2,它会根据Dropdown1中的内容进行更改。
因此,如果用户选择“年”,则Dropdown2的年份为{2013,2014,2015}。如果用户选择“月份”,则Dropdown2将包含从2013年到今天(2013年1月,2013年2月... 2015年1月)的所有月份,同样适用于所有日期。我已经成功地只在“' year”中做到了这一点。情况下..
我不想使用Datepicker,我只想简单有效地完成这项工作。 以下是它的外观:
答案 0 :(得分:1)
您可以在分辨率列表中添加ng-change指令,并调用方法生成用于期间列表的值。
请参阅:https://docs.angularjs.org/api/ng/directive/ngChange
-
另一个选择是提前生成所有4个期间列表:
$scope.periodLists = {
year: [...list of years...],
month: [...list of month+years...],
week: [...],
day: [...]
};
然后使用分辨率列表中的选项绑定您的期间下拉列表ng-model。类似的东西:
ng-model="periodList[selectedResolution]"
当用户选择不同的分辨率时,第二个列表会切换到periodList [year]或periodList [month] ...