Ng-click或Ng-change?

时间:2016-06-20 12:51:07

标签: javascript angularjs angularjs-ng-click

在我的网站上我得到了这个:

<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>

当用户必须选择单位(代码结束)时,他点击设置它,我只想在他点击统一时进入下一步。为此,在我们得到一个按钮之前是代码:

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

总之,我希望用户完成选择时按钮的操作ctrl.nextStep()是统一(以千克,米,M²为单位)等。是否可以使用ng-click

如果是,我应该将我的活动ng-click放在选择中吗?

2 个答案:

答案 0 :(得分:0)

使用ng-change

      <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>

无论您使用ng-model,它都可以使用。

答案 1 :(得分:0)

实际上你也可以通过ng-click来实现这一点。我不推荐它,因为它实际上是一些黑客,但在这里它是;

<select ng-model="ctrl.unitId">
    <option value="" ng-click="ctrl.nextStep()">Some Value</option>
</select>