Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs ng repeat form仅禁用每个表单输入_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

angularjs ng repeat form仅禁用每个表单输入

angularjs ng repeat form仅禁用每个表单输入,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我有一个ng repeat表单。 当提交表单时,我想禁用提交表单输入 我面临的问题是当我提交表格时。它将禁用所有表单输入,并且从不返回以启用 请看看这个 或下面的代码片段。谢谢 在JS中 在HTML中 <div ng-repeat="(key, value) in newDatas"> <form name="newData"> <input type="text" ng-model="value" ng-disabled="isDisabled">

我有一个
ng repeat
表单。 当提交表单时,我想禁用提交表单输入

我面临的问题是当我提交表格时。它将禁用所有表单输入,并且从不返回以启用

请看看这个

或下面的代码片段。谢谢

在JS中

在HTML中

<div ng-repeat="(key, value) in newDatas">
  <form name="newData">
    <input type="text" ng-model="value" ng-disabled="isDisabled">
    {{value}}
    <button ng-click="send()" ng-disabled="isDisabled">submit</button>
  </form>
</div>

{{value}}
提交

setTimeout
函数在Angular“作用域”之外执行,因此Angular不知道您已再次将
isDisabled
设置为false


使用$timeout服务,因为它会将您的函数包装在
$scope内。$apply
并触发更新绑定的$digest循环。

setTimeout
函数在Angular“scope”之外执行,因此Angular不知道您已再次将
isDisabled
设置为false


使用$timeout service,因为它会将您的函数包装在
$scope.$apply
中,并触发更新绑定的$digest循环。

您需要调用$scope.$digest(),以便捕获更改

 setTimeout(function() {
  alert('done');
  $scope.isDisabled = false;
  $scope.$digest();
},1000);
或者最好使用自动执行的$timeout:

$timeout(function() {
  alert('done');
  $scope.isDisabled = false;
},1000);

您需要调用$scope.$digest()以允许捕获更改

 setTimeout(function() {
  alert('done');
  $scope.isDisabled = false;
  $scope.$digest();
},1000);
或者最好使用自动执行的$timeout:

$timeout(function() {
  alert('done');
  $scope.isDisabled = false;
},1000);

它将仅禁用提交表单。试试这个:

在HTML中:

<form name="newData">
    <input type="text" ng-model="value" ng-disabled="isDisabled[key]">
    {{value}}
    <button ng-click="send(key)" ng-disabled="isDisabled[key]">submit</button>
  </form>

请参见

它将仅禁用提交表单。试试这个:

在HTML中:

<form name="newData">
    <input type="text" ng-model="value" ng-disabled="isDisabled[key]">
    {{value}}
    <button ng-click="send(key)" ng-disabled="isDisabled[key]">submit</button>
  </form>

请参见

如何仅禁用提交表单?如何仅禁用提交表单?