[英]AngularJs update function with <select> <option> is not working
我在AngularJS上度过了非常艰难的时光。 我试图将我的一些纯HTML工作转换为angularjs。 我的更新功能在AngularjS上不起作用
这个使用纯html的工作代码:每当我从下拉列表中进行选择时,它都会更新得很好。
<div id="year" class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="selection" data-selection="Year">Select Year</span><span class="caret"></span>
</button>
<ul class="dropdown-menu multi-level" role="menu" aria-labelledby="dropdownMenu">
<li class="dropdown-submenu year">
<a tabindex="-1" href="#" >2011</a>
</li>
<li class="dropdown-submenu year">
<a tabindex="-1" href="#" >2012</a>
</li>
d3.selectAll('.dropdown-submenu.year > a').on("click", function(d) {
year = this.text;
chartsUpdate();
});
这里尝试使用AngularJS实现相同的功能:
Year:
<select class="YearSelector">
<option ng-repeat="year in chart_data | unique: 'FiscalYear' | orderBy:'FiscalYear'" >
{{ year.FiscalYear }}</option>
</select>
d3.selectAll('.YearSelectors').on("click", function (d) {
FiscalYear = this.text;
chartsUpdate();
});
更新,这是我的chartUpdate()函数:
function chartsUpdate() {
myChart.data = getData(data, FiscalYear, Quarter);
myChart.draw(500);
}
我尝试了多种方法但没有任何效果,我感觉自己在做一些真正的基本错误。 我仍然是html和angularjs的新手。 在此先感谢您的帮助或建议
我需要看一下您的控制器,但理论上我会建议。
<select class="YearSelector" ng-change="chartsUpdate()">
<option ng-repeat="year in chart_data | unique: 'FiscalYear' | orderBy:'FiscalYear'" >
{{ year.FiscalYear }}</option>
</select>
但是当您学习angular时,应该将ng-options与select一起使用。
使用ng-change和ng-options
<select class="YearSelector"
ng-change="chartsUpdate()"
ng-options="year.FiscalYear for year in chart_data | unique: 'FiscalYear' | orderBy:'FiscalYear'">
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.