[英]ng-disabled not allowing enter more than one text in input text box inside ng-repeat
我正在分享一個小提琴,在這里我嘗試ng-disable以禁用其中所有帶有值的所有輸入文本框,但是當我嘗試在沒有值的文本框中輸入一個值時,它正在禁用只需輸入一個字符。任何人都面臨類似的問題,請分享您的想法。
<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.