繁体   English   中英

AngularJs更新功能 <select><option>不管用

[英]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-changeng-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM