簡體   English   中英

使用ng-repeat訪問ng-form元素/值

[英]accessing ng-form elements/values with ng-repeat

我正在尋找將非綁定(正確的術語?)表單數據傳遞給控制器​​方法的最佳方法。 我將如何訪問表單的對象及其值?

HTML

<html ng-app="app">
<body ng-controller="MainController as main">
<ng-form name="add_lead_form">
    <div ng-repeat="label in form.lead_labels track by $index" ng-show="label.visible">
        <div class="input-group lead-data">
            <span class="input-group-addon">{{getLabel(label)}}</span>
             <input ng-model="add_lead_form.addleadValue[$index]" name="addleadValue" type="text" class="form-control" aria-describedby="basic-addon1">
             <input type="hidden" ng-model="add_lead_form.addleadLabelId[$index]" name="add_lead_form.addleadLabelId" ng-value="label.id" />
        </div>
    </div>


    <div class="pull-right"><button ng-click="addLead()" class="btn btn-primary btn-lg">Save Lead</button></div>
</ng-form>
</body>
</html>

app.js

var app = angular.module('app', []);

app.controller('MainController', ['$scope', function($scope) {
    $scope.addLead = function() {
        console.log($scope.add_lead_form);
    };

}]);

您無法訪問已在父div中聲明的ng-repeat內的表單 ,要創建正確的表單,可以在ng-repeat內添加新的innerForm ,您必須通過添加新的innerForm來更改html結構

<div ng-repeat="label in form.lead_labels track by $index" ng-show="label.visible">
    <ng-form name="innerForm">
        <div class="input-group lead-data">
            <span class="input-group-addon">{{getLabel(label)}}</span>
            <input ng-model="add_lead_form.addleadValue[$index]" name="innerForm.addleadValue" type="text" class="form-control" aria-describedby="basic-addon1">
            <input type="hidden" ng-model="add_lead_form.addleadLabelId[$index]" name="innerForm.addleadLabelId" ng-value="label.id" />
        </div>
    </ng-form>
</div>

使用上面的代碼嘗試一下,謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM