在输入而不是表单上禁用基础ng

时间:2015-08-26 19:27:30

标签: javascript angularjs

如果输入为$invalid,我想禁用输入框旁边的按钮。如果我根据整个表单的有效性禁用此按钮,我只需使用ng-disabled="formName.$invalid"。我如何完成相同的任务,但只基于一个输入字段?

<td>
  <input type="number" min="0" ng-model="points.limit">
</td>
<td>
  <button class="btn btn-limit btn-success" ng-click='points.setLimit(points.limit)' ng-disabled="?">Save</button>
</td>

2 个答案:

答案 0 :(得分:1)

您需要为name元素指定ng-model="points.limit"属性,以使其具有formName的一部分。在声明元素的name属性之后,您可以使用formName.limit访问该表单元素,您也可以在范围内获取此对象。

<强>标记

<td>
    <input type="number" name="limit" min="0" ng-model="points.limit">
</td>
<td>
    <button class="btn btn-limit btn-success" ng-click='points.setLimit(points.limit)' 
     ng-disabled="formName.limit.$invalid">
      Save
    </button>
</td>

答案 1 :(得分:0)

为输入命名,如下所示:

<input name="limit" type="number" min="0" ng-model="points.limit">

然后您可以像这样禁用按钮:

<button class="btn btn-limit btn-success" ng-click='points.setLimit(points.limit)' ng-disabled="theForm.limit.$invalid">Save</button>