我有一個使用MEAN棧的angularjs ng-repeat表單,其中我有一個外部按鈕,在ng-repeat之外觸發所有的ng-repeat表單。但是這樣做只提交了第一個ng-repeat表單。所有其他人都沒有提交。我應該如何通過一次點擊提交所有表單。點擊ng-repeat表單中的所有提交按鈕
HTML
<div class="ui-widget-content">
<ol class="minheight650">
<div class="overflow-y-scroll">
<div ng-repeat="item in subfoodss track by $index | filter:categoryfilter | filter:typefilter | filter:searchallfood">
<li ng-show="item.name" >
<div class="col-md-4">
<form name="subfoodForm" id="subfoodform" data-ng-submit="addSubfood()" >
<input type="text" data-ng-model="sbody" name="sbody" id="sbody" class="form-control" placeholder="Your Subfood" required disabled>
<input type="text" data-ng-model="sprice" name="sprice" id="sprice" class="form-control" placeholder="Your Subfood" required disabled>
<md-select data-ng-model="sqty" id="sqty" required>
<md-option value="1" selected>1</md-option>
<md-option value="2">2</md-option>
<md-option value="3">3</md-option>
</md-select>
<div class="col-md-3 ">
<input type="checkbox" >
</div>
<input type="submit" ng-click="secondFx()" id="btnTwo" value="Subfood">
</form>
</div>
</li>
</div>
</div>
<div>
<md-switch class="md-primary" ng-click="doSomething()" id="selecctall">
<h4>Confirm All</h4>
</md-switch>
</div>
</ol>
</div>
AngularJS控制器
$scope.secondFx = function() {
angular.element('#btnTwo').click();
};
$scope.doSomething = function() {
$scope.secondFx();
};
您已爲重複中的所有表單指定了相同的ID。你應該嘗試使用$ index來區分它們。另外,文檔指出您應該避免在表單中同時使用ng-submit和ng-click。 –
是的,你應該定義使用不同的ID,甚至更多,爲什麼你需要多種形式?難道你不能只有多個輸入綁定到'$ scope'中的數組(http://stackoverflow.com/questions/15488342/binding-inputs-to-an-array-of-primitives-using-ngrepeat-uneditable輸入) – victor