如何根据AngularJs中的另一个输入字段值启用输入字段

时间:2015-05-04 13:48:48

标签: javascript angularjs

我有一个AngularJs表单,我想知道工作小时数。如果金额为0,我会因为无法工作而启用额外的问题。

<label>How many hours did you work?</label>
<input ng-model="hours" type="number" placeholder="8" />

<label ng-class="{'disabled-label': ifHoursZero}">Why didn't you work at all?</label>
<input ng-disabled="ifHoursZero" ng-model="reason" type="text" />

如果ifHoursZero值为hours,则使用0切换CSS和输入字段的优雅Angular方式是什么?可以使用hours变量直接使用某种模式吗?

2 个答案:

答案 0 :(得分:2)

使ifHoursZero函数返回一个布尔值,并将其称为ng-disabled="ifHoursZero()"

例如:

function ifHoursZero() {
    return $scope.hours === 0;
}

请参阅jsBin

答案 1 :(得分:2)

您应该可以在不必向控制器添加功能的情况下执行此操作:

<label>How many hours did you work?</label>
<input ng-model="hours" type="number" placeholder="8" />

<div ng-show="hours === 0">
  <label>Why didn't you work at all?</label>
  <input ng-model="reason" type="text" />
</div>