2016-12-20 3 views
0

Ich habe eine Dropdown-Liste wie folgt erstellt:kann nicht ng-Uhr mit Tasten zu arbeiten und

<div class="form-group"> 
    <select class="form-control input-sm" id="sel1" ng-model="yAxistm" ng-model-options="{timezone: '-0500', updateOn: 'default blur', debounce: { 'default': 1, 'blur': 0 }, allowInvalid: false}"> 
    <option value="yr">Yearly</option> 
    <option value="qtr">Quarterly</option> 
    <option value="mth">Monthly</option>     
    </select> 
</div> 

aber jetzt bin versucht, es als Schaltflächen zu erstellen, kann aber nicht bekommen zu Übergeben Sie den Wert in die Steuerung ...

<div class="btn-group"> 
    <label class="btn btn-primary" ng-model="yAxistm" uib-btn-radio="yr" value="yr">Yearly</label> 
    <label class="btn btn-primary" ng-model="yAxistm" uib-btn-radio="qtr" value="qtr">Quarterly</label> 
    <label class="btn btn-primary" ng-model="yAxistm" uib-btn-radio="mth" value="mth">Monthly</label> 
</div> 

was mache ich hier falsch ??

--- EDIT ---

In meinem Controller, verwende ich ng-Uhr dann zu sehen, wenn die Werte wie folgt geändert haben:

$scope.$watchGroup[('yAxistm1', 'chrtTyp'], function(newval, oldval) { 
//do something 
    }); 
+1

Verwendung ng-Click (updateCharts (yAxistm)) anstelle von ng-Änderung (updateCharts (yAxistm)). –

+0

versucht ng-ändern, aber immer noch das gleiche Verhalten ... 'yAxistm' zeigt immer noch als undefiniert in der Steuerung – user2061886

+1

' yAxistm' welchen Wert möchten Sie daraus erhalten? –

Antwort

0

Versuchen Strings als Werte für uib-btn-radio mit:

<div class="btn-group"> 
    <label class="btn btn-primary" ng-model="yAxistm" uib-btn-radio="'yr'" ng-change="updateCharts(yAxistm)">Yearly</label> 
    <label class="btn btn-primary" ng-model="yAxistm" uib-btn-radio="'qtr'" ng-change="updateCharts(yAxistm)">Quarterly</label> 
    <label class="btn btn-primary" ng-model="yAxistm" uib-btn-radio="'mth'" ng-change="updateCharts(yAxistm)">Monthly</label> 
</div> 

I value Attribut als auch entfernt, ich glaube nicht, dass es hier gebraucht wird.

EDIT Sie können ng-change als auch Attribut entfernen und Ihre Diagramme aktualisieren, indem Sie diese Uhr in der Steuerung mit:

$scope.$watch('yAxistm', function(newval, oldval) { 
    //do something 
}); 

Diese Version vereinfacht wird (nicht watchGroup da ich weiß nicht, was ist chrtTyp zum). Im Grunde habe ich nur den Variablennamen festgelegt.

+0

einen Tippfehler im Code gemacht, machte ich eine Bearbeitung, um zu zeigen, dass ich mit ng-watch und nicht ng-change ... – user2061886

+0

@ user2061886, aktualisiert meine Antwort –

+0

Ich entfernte das, aber immer noch nicht zur Arbeit ... – user2061886

0

Hier ist, was mit ng-Uhr gearbeitet ...

<div class="btn-group-vertical" data-toggle="buttons"> 
    <label class="btn btn-primary"> 
     <input type="radio" name="timeoptions" id="yr" autocomplete="off" checked value="yr" ng-model="yAxistm" ng-model-options="{timezone: '-0500', updateOn: 'default blur', debounce: { 'default': 1, 'blur': 0 }, allowInvalid: false}">Yearly 
    </label> 
    <label class="btn btn-primary"> 
     <input type="radio" name="timeoptions" id="qtr" autocomplete="off" value="qtr" ng-model="yAxistm" ng-model-options="{timezone: '-0500', updateOn: 'default blur', debounce: { 'default': 1, 'blur': 0 }, allowInvalid: false}">Quarterly 
    </label> 
    <label class="btn btn-primary"> 
     <input type="radio" name="timeoptions" id="mth" autocomplete="off" value="mth" ng-model="yAxistm" ng-model-options="{timezone: '-0500', updateOn: 'default blur', debounce: { 'default': 1, 'blur': 0 }, allowInvalid: false}">Monthly 
    </label> 
</div> 
Verwandte Themen