2016-10-03 3 views
0

Ich habe sehr schwierige Zeit mit AngularJS. Ich versuche einige meiner Arbeiten mit reinem HTML in angularjs zu konvertieren. Meine Update-Funktion funktioniert nicht mit AngularjSAngularJs Update-Funktion mit <select> funktioniert nicht

Dieser Arbeitscode mit reinem HTML: Immer wenn ich aus dem Dropdown-Menü auswählen, wird es gut aktualisiert.

<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(); 

});

Hier versucht, mit AngularJS Gleiche zu erreichen:

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(); 
    }); 

aktualisieren, uns hier meine chartsUpdate() Funktion:

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

ich mehrere Möglichkeiten versucht haben, aber keine Arbeit, ich fühle mich wie Ich mache etwas wirklich grundlegendes falsches. Ich bin immer noch Neuling mit HTML und angularjs. Vielen Dank im Voraus für jede Hilfe oder Anregungen

+0

Sie sollten ng-Änderung verwenden, um auf Sie wählen chartsUpdate anrufen ... Sie sollten alos ngoptions betrachten statt ng-repeat. – defaultcheckbox

Antwort

3

Ich müsste Ihren Controller sehen, aber theoretisch würde ich vorschlagen.

Aber wie Sie eckig lernen, sollten Sie ng-Optionen mit Ihrer Auswahl verwenden.

+0

Ich habe keinen Controller für 'chartsUpdate()' sein reines Javascript. Ich habe meine Frage mit meinen Funktionen bearbeitet. ng-change hat im Moment nicht funktioniert. – mtkilic

+0

ok .. kann ich Ihren Controller sehen, und sind Sie nur eine Drittanbieter-Bibliothek zum Chartern? – defaultcheckbox

+0

Hier ist ein Teil meines Codes Ich hoffe, es wird dir helfen. Ich verwende d3.js und dimple.js für Diagramme. http://paste.ubuntu.com/23270529/ und danke, dass Sie versuchen, mir zu helfen! – mtkilic

2

Verwenden ng Wechsel und ngoptions

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

Das Hinzufügen von 'ng-change =" chartsUpdate() "' hat nicht funktioniert. Ich bearbeite meine Frage mit meinen Funktionen. Auch habe ich versucht, ng-Optionen vorher nicht. Ich kopiere und kopiere es und es hat nicht mehr funktioniert. Es könnte wegen des Weges meine Daten nicht ganz sicher sein – mtkilic