1

我有这个问题,我有一个 ng-repeat,我在其中添加了一些输入字段,并且我想将这些输入的值提交到生成的表单 - 不适用于 ng-model,但我可以通过里面的输入名称获取表单标签。

<li ng-repeat="group in tournament.groups">
    <form novalidate ng-submit="tournament.submit(group.team1, group.team2)">
        <span>
            {{ group.team1.name }}
            <input type="number" name="team1" placeholder="x">
        </span> - <span>
            <input type="number" name="team2" placeholder="x">
            {{ group.team2.name }}
        </span>

        <button type="submit">Save</button>
    </form>
</li>
4

3 回答 3

2

您应该使用缺少的ng-model&name属性绑定输入,因此您不会着火。formng-submit

当您将 name 属性添加到您的form假设name="team"时,Angular 确实会在范围内创建一个新变量并添加有关表单有效性和每个字段信息的所有表单相关信息。

标记

<li ng-repeat="group in tournament.groups">
    <form name="team" novalidate ng-submit="tournament.submit(group.team1, group.team2)">
        <span>
            {{ group.team1.name }}
            <input type="number" name="team1" placeholder="x" ng-model="group.team1"/>
        </span> - <span>
            <input type="number" name="team2" placeholder="x" ng-model="group.team2"/>
            {{ group.team2.name }}
        </span>

        <button type="submit">Save</button>
    </form>
</li>
于 2015-06-27T13:11:28.823 回答
0

使用 ng 模型:

看法:

<li ng-repeat="group in tournament.groups">
    <form novalidate ng-submit="submit()">
        <span>
            {{ group.team1.name }}
            <input type="number" name="team1" placeholder="x" ng-model="group.team1.name">
        </span> - <span>
            <input type="number" name="team2" placeholder="x" ng-model="group.team2.name">
            {{ group.team2.name }}
        </span>

        <button type="submit">Save</button>
    </form>
</li>

在控制器中:

$scope.submit = function(){
   console.log($scope.group.team1.name);
   console.log($scope.group.team2.name);
};

你会得到你的价值。试一次我的代码。

于 2015-06-27T13:14:39.277 回答
0

在您使用的方法中,您将拥有多种表格。我建议你只有一个表单并在表单内迭代如下:

<form name="team" novalidate ng-submit="tournament.submit(group.team1, group.team2)">
    <li ng-repeat="group in tournament.groups">

        <span>
            {{ group.team1.name }}
            <input type="number" name="team1" placeholder="x" ng-model="team1"/>
        </span> - <span>
            <input type="number" name="team2" placeholder="x" ng-model="team2"/>
            {{ group.team2.name }}
        </span>

        <button type="submit">Save</button>
   </li>
</form>

并使用'$index'(如ng-model="team{{$index}}")为每个组相应地更新ng-model

我想这应该可以解决问题。

于 2015-06-27T13:20:55.697 回答