ng-repeat

时间:2018-11-21 08:41:32

标签: angularjs

<tr ng-repeat="x in my_array">
                        <td>
                            <select name='[{{$index}}].Name' > 
                                <option ng-repeat="sr in anotherArray" value="{{sr}}">
                                    {{sr}}
                                </option>
                            </select>
                        </td> 
 </tr>

我有一个表,其中的行由ng-repeat填充: my_array

还有另一个数组: anotherArray

我希望当 my_array 以一定角度重复行时,使 [{{{$ index}}]]具有自己的值。名称应基于所选内容该特定行的值。

当我将数据发布到api [{{$ index}}]时。即使我为每行选择了不同的项目,名称也将具有相同的值。

l尝试使用ng-options,因为据说它对

有好处

of有一个简单的解决方法。

am填充 anotherArray anotherArray

在同一页面上的不同位置,但是它们只是其中包含字符串值的数组,如下所示:

  $scope.anotherArray= [];

$scope.add = function () {
            $scope.errortext = "";
            if (!$scope.addMe) { return; }
            if ($scope.variants.indexOf($scope.addMe) == -1) {
                $scope.anotherArray.push($scope.addMe); 
            }
        }

所需的结果就像

desired table

在图像i_prepopulateOnRow1,i_prepopulateOnRow2 ... i_prepopulateOnRow直到Nth都是从 anotherArray

添加的

my_array 添加新行时,它必须具有 anotherArray 的选择选项,因此在每一行l都可以具有i_prepopulateOnRow

的值

原因是将名称用作 [{{$ index}}]。名称是由于将其发布到asp.net api。

面临的问题是每当我发布所有行的值都相同时 [{{{$ index}}]。名称,即使我选择其他值

编辑两个

我没有得到答案,我做错了吗?/请提出建议,这样也可以帮助我两天的时间。伙计们

1 个答案:

答案 0 :(得分:0)

如果您在服务器端发布页面,则HTML元素名称必须与服务器类结构匹配

Ex. Server class



public class otherClass
    {
        public int id { get; set; }
        public string name { get; set; }
    }

    public class myclass
    {
        public string name { get; set; }

        public List<string> nameList { get; set; }

        public List<otherClass> otherList { get; set; }

    }

then you HTML elment name should be like



<form method="post" action="http://localhost:56096/api/Values">

    <div>
        <input type="text" name="name" />
    </div>
    <div>
        <ul>
            <li>
                <input type="text" name="nameList[0]" />
            </li>
            <li>
                <input type="text" name="nameList[1]" />
            </li>
            <li>
                <input type="text" name="nameList[2]" />
            </li>
        </ul>
    </div>
    <div>
        <ul>
            <li>
                <input type="hidden" name="otherList[0].id" value="0" />
                <input type="text" name="otherList[0].name" />
            </li>
            <li>
                <input type="hidden" name="otherList[1].id" value="1" />
                <input type="text" name="otherList[1].name" />
            </li>
            <li>
                <input type="hidden" name="otherList[2].id" value="2" />
                <input type="text" name="otherList[2].name" />
            </li>
        </ul>
    </div>

    <input type="submit" value="Submit" />

</form>

我回家可以从这里得到帮助

谢谢