ng-repeat中的表单名称,并将ng-click函数中的表单名称传递给javascript

时间:2016-08-03 07:12:10

标签: javascript jquery html angularjs forms

我正在使用不同形式名称的ng-repeat形式。

我希望在表单内点击某个按钮时传递表单。

当我打电话时如下

checkSaveDisable(updateProductSale_{{productIndex}}) it throwing some angular js error. 

可能是在函数调用中传递了角度表达式。如何在函数中传递包含动态名称的表单。

HTML:

<div ng-repeat="productSale in productSales" class="existingProductSales" ng-init="productIndex=$index">
<form name="updateProductSale_{{productIndex}}" novalidate>

---------------//

<button class="btn btn-default save-btn save-sale" ng-disabled="checkSaveDisable(updateProductSale_{{productIndex}})" >Save</button>

</form>
</div>

1 个答案:

答案 0 :(得分:0)

updateProductSale _ {{productIndex}}是一个字符串值,对吗?如果是这样,要将字符串值作为参数传递,请尝试使用

ng-disabled="checkSaveDisable('updateProductSale_{{productIndex}}')"

更新:好的,如果您使用以下内容怎么办?

ng-disabled="checkSaveDisable('updateProductSale_' + {{productIndex}})"

angular.module('MyApp', []).controller('AppCtrl', function($scope) {
  $scope.productSales = ['Form1', 'Form2'];
  
  $scope.click = function(val) {
    alert(val);
  };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>

<div ng-controller="AppCtrl" ng-cloak="" ng-app="MyApp">
    <div ng-repeat="productSale in productSales">
        <form name="updateProductSale_{{$index}}" novalidate>
            <button class="btn btn-default save-btn save-sale" ng-click="click('updateProductSale_' + $index)" >Save</button>
        </form>
    </div>
</div>