2016-08-03 7 views
0

異なるフォーム名でng-repeat形式を使用しています。ng-repeatのフォーム名とng-click関数のフォーム名をjavascriptに渡す

一部のボタンがフォーム内をクリックしたときにフォームを渡したいと思います。

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> 
+0

あなたは何を達成しようとしていますか? 'ngForm'ディレクティブを使って、' ngRepeat'の中の 'forms'を処理することができます。 – developer033

+0

@ developer033はngFormを使用しようとしましたが、動的フォームオブジェクトをjavascriptに渡したい – SivaRajini

+0

フォームに何を渡す必要がありますか? – developer033

答えて

0

updateProductSale _ {{productIndex}}右、文字列値はありますか?その場合は、引数として文字列値を渡すために、

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

UPDATEを使用しよう:さて、あなたは何を使用している場合は、次の?

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>

+0

これは文字列ではありません... – developer033

+0

updateProductSale_は定数値で、{productIndex}は動的値です。連結結果を関数に渡そうとします。更新された答えをご覧ください。私はそのアイデアがはっきりしていることを望むまだ質問がある場合はお知らせください。 – Antipod

+0

@Antipodフォームオブジェクトを渡すことはありません。文字列を渡すだけです。 – SivaRajini

関連する問題