将项添加到数组Angular

时间:2015-11-23 10:32:57

标签: javascript json angularjs

我有一个包含以下字段的表格:productlotinput1input2。您可以克隆一条线,然后添加一条新线。

我想要做的是,对于每一行,您可以添加由"数字"创建的新地段。并通过" id"用户在Select lot下的输入字段中写入。我想要脚本在json数据和lot选项列表中添加新Lot。

这是我尝试执行添加的功能:

$scope.addLot = function() {
    var inWhichProduct = row.selectedProduct;
    var newArray = {
        "number": row.newLot.value,
        "id": row.newLot.id
    };

    for (var i = 0; i < $scope.items.length; i++) {
        if ($scope.items[i].selectedProduct === inWhichProduct) {
            $scope.items[i].selectedLot.push(newArray);
        }
    }
};

- &GT;&GT; THIS&lt;&lt; - 是完整代码。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我认为你的问题在Stack Overflow上有点过于宽泛,但这是一次尝试:

<div ng-app="myApp" ng-controller="myCtrl">
    <table>
        <tr ng-repeat="lot in lots">
            <td>{{ lot.id }}</td>
            <td>{{ lot.name }}</td>
        </tr>
    </table>
    <p>name:</p> <input type="text" ng-model="inputName">
    <p>id:</p> <input type="text" ng-model="inputId">
    <button ng-click="addLotButton(inputId, inputName)">Add</button>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.2/angular.min.js"></script>
<script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {
        $scope.lots = [{
            name: "test",
            id: 1
        },

        {
            name: "test2",
            id: 2
        }

        ];

        $scope.addLot = function(lotId, lotName) {
            var newLotObject = {
                name: lotName,
                id: lotId
            };

            $scope.lots.push(newLotObject);
        };

        $scope.addLotButton = function(id, name) {
            $scope.addLot(id, name);
        };

        $scope.addLot(3, "Another test");


    });
</script>

基本上,这段代码只需要一些输入,并在该输入的范围内添加一个对象。该表是使用此数据的ng-repeat创建的。它根本不是很好的代码,但它只是一个简单的例子。