2016-06-20 4 views
1

Auf meiner Website habe ich dies:Ng-Klick oder Ng-Änderung?

<div class="tab-container"> 
     <div ng-if="ctrl.subCategory.level_2.length" class="tab-item active"> 
     <div ng-repeat="item in ctrl.subCategory.level_2" class="item"> 
      <input type="text" 
       name="{{item.name}}" 
       id="{{item.name}}" 
       class="link" 
       resize-input="resize-input" 
       ng-focus="ctrl.inputSelected = item.id; ctrl.selectSubCategory(item, 2, 3, null, true)" 
       ng-change="ctrl.change(item, 3, true)" 
       ng-model="item.name" 
       ng-click="ctrl.selectSubCategory(item, 2, 3, null, true)" 
       ng-if="item.editable === 2" 
       ng-class="{ 'active': ctrl.categorySelected['level_2'].id === item.id }" 
       maxlength="45"/> 
      <label ng-click="ctrl.resetUnit(); ctrl.selectSubCategory(item, 2, 3, null)" 
       ng-if="item.editable === 1" 
       ng-class="{ 'active': ctrl.categorySelected['level_2'].id === item.id }" 
       class="link link-text"> 
      {{ item.name }} 
      </label> 
      <select name="{{ item.name }}" 
       custom-select="custom-select" 
       options="ctrl.unitList" 
       has-restart="true" 
       ng-model="ctrl.unitId" 
       ng-if="item.editable === 2 &amp;&amp; ctrl.inputSelected === item.id" 
       destroy-if="ctrl.inputSelected !== item.id" 
       class="unit-box unit-1" ></select> 
     </div> 
     </div> 
    </div> 

Wenn Benutzer Einheit (Ende-Code) wählen hatten seinen Klick es einrichten, ich möchte nur, dass, wenn sein Klick auf der Einheit, die er zum nächsten Schritt geht. Dazu bevor wir einen Knopf hier ist es Code bekamen:

<button type="button" ng-disabled="!ctrl.hasValid()" ng-class="{'disable': !ctrl.hasValid()}" ng-click="ctrl.nextStep()" class="btn btn-1">Étape suivante</button> 

Zusammenfassend ich die Aktion will ctrl.nextStep() der Taste nur, wenn der Benutzer Ziel zu wählen Einheit (in Kilogramm, Meter, M²) ist usw. Ist es möglich mit ng-click?

Wenn ja, wo sollte ich meine Veranstaltung ng-click in die Auswahl?

Antwort

0

Verwendung ng Wechsel

 <select name="{{ item.name }}" 
      custom-select="custom-select" 
      options="ctrl.unitList" 
      has-restart="true" 
      ng-model="ctrl.unitId" 
      ng-if="item.editable === 2 &amp;&amp; ctrl.inputSelected === item.id" 
      destroy-if="ctrl.inputSelected !== item.id" 
      class="unit-box unit-1" 
      ng-change="ctrl.nextStep()"></select> 

Es ist überall verfügbar Sie ng-Modell verwenden.

+0

ng-change funktioniert nicht:/Ich wähle die ganze Einheit möglich und ich gebe den Knopf am Ende meiner Seite ein, aber es bleibt auf der gleichen Seite:/.. Idee? – Skyxia

0

eigentlich kannst du das auch mit ng-click machen .. ich empfehle es nicht, weil es tatsächlich ein hack ist, aber hier ist es;

+0

Danke @Erdeniz deine Lösung funktioniert gut, aber es gibt ein Problem ... wie du hier sehen kannst: [link] (http://hpics.li/16b6687) Ich habe Kategorien, die das nicht brauchen, also wenn ich es versuche deine lösung, unter "box de 33 cm" und andere werde ich die optionsliste haben und ich will auch nicht ^^, [link] (http://hpics.li/01e0fdc) wenn du meine erste schaust Code, Sie sehen 'class =" Unit-Box Unit-1 "' Wo sollte ich es in Ihre setzen? Wenn ich meine Klasse nicht einfüge, werden alle Optionen auf einem leeren Würfel ohne CSS angezeigt: s – Skyxia

Verwandte Themen