2016-10-03 106 views
0

我與AngularJS的時間非常困難。我試圖將我的一些工作與純html轉換爲angularjs。我的更新功能不適用於AngularjSAngularJs更新功能與<select><option>不起作用

此工作代碼與純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(); 
    }); 

更新,在這裏我們我chartsUpdate()函數:

function chartsUpdate() { 
     myChart.data = getData(data, FiscalYear, Quarter); 
     myChart.draw(500); 
    } 

我曾嘗試多種方法,但沒有工作,我覺得我正在做一些非常基本的錯誤。我仍然是html和angularjs的新手。 在此先感謝您的任何幫助或建議

+0

您選擇撥打chartsUpdate你應該使用NG-變化...你應該阿洛斯考慮ngoptions代替NG-重複。 – defaultcheckbox

回答

3

我需要看到你的控制器,但理論上我會建議。

<select class="YearSelector" ng-change="chartsUpdate()"> 
    <option ng-repeat="year in chart_data | unique: 'FiscalYear' | orderBy:'FiscalYear'" > 
     {{ year.FiscalYear }}</option> 
</select> 

但是,當你學習角度時,你應該在你的選擇中使用ng-options。

+0

我沒有'chartsUpdate()'純粹的JavaScript控制器。我用我的功能編輯了我的問題。 ng-change目前無法使用。 – mtkilic

+0

好的..我可以看看你的控制器,你只是第三方圖表庫嗎? – defaultcheckbox

+0

這裏是我的代碼的一部分,我希望它會有所幫助。我爲圖表使用d3.js和dimple.js。 http://paste.ubuntu.com/23270529/並感謝您試圖幫助我! – mtkilic

2

使用NG-變化ngoptions

<select class="YearSelector" 
     ng-change="chartsUpdate()" 
     ng-options="year.FiscalYear for year in chart_data | unique: 'FiscalYear' | orderBy:'FiscalYear'"> 
</select> 
+0

添加'ng-change =「chartsUpdate()」'沒有奏效。我用我的功能編輯我的問題。另外,我之前嘗試過的選項沒有。我複製並粘貼你的,它沒有再次工作。這可能是因爲我的數據,不太確定 – mtkilic