簡體   English   中英

禁用ng-repeat,不允許在ng-repeat的輸入文本框中輸入多個文本

[英]ng-disabled not allowing enter more than one text in input text box inside ng-repeat

我正在分享一個小提琴,在這里我嘗試ng-disable以禁用其中所有帶有值的所有輸入文本框,但是當我嘗試在沒有值的文本框中輸入一個值時,它正在禁用只需輸入一個字符。任何人都面臨類似的問題,請分享您的想法。

禁用ng-repeat內的輸入文本框

  <input type="text" ng-model="valuesForOutputs[item.name][i]" 
                                        ng-disabled="valuesForOutputs[item.name][i]" required   name="value"
                                               placeholder="Enter value">

問題是您想禁用輸出值的初始狀態,但是隨后您對其進行了修改,並且更改了禁用/啟用的功能。

相反,您應該創建值的原始副本並使用該副本禁用。 然后更新跟蹤當前值的值$scope.valuesForOutputs

嘗試添加以下內容:

var origValuesForOutputs = angular.copy($scope.valuesForOutputs);

$scope.isDisabled = function(output, month) {
   var val = origValuesForOutputs[output][month];
   return val && val.length;
 };

並將ng-disabled更改為:

ng-disabled="isDisabled(item.name, i)"

這是the人: http ://plnkr.co/edit/2AeNujzK2XLtBzdHbLNS?p=preview

您可以在ng-init中使用此技巧:

<td ng-repeat="i in months" 
    ng-init="wasEmpty=!valuesForOutputs[item.name][i]">{{valuesForOutputs[item.name][i]}}
    <input type="text" ng-model="valuesForOutputs[item.name][i]"
        ng-disabled="valuesForOutputs[item.name][i] && !wasEmpty" 
        required name="value" placeholder="Enter value">
</td>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM