我想用onclick事件更新我的JSON中的数组AngularJs

时间:2017-04-28 07:23:18

标签: javascript html angularjs json

这是我的JSON,我想在每次单击按钮时向数组product1内的数组添加一个元素,它不应该有限制,添加字段中的值可以是用户定义的。

$scope.tableContent = [
            {
                id: 1,
                sks: 'sk1',
                product1: ['micro m1', 'micro m2'],
                product2: 'prod2'
            },
            {
                id: 2,
                sks: 'sk2',
                product1: ['micro m1', 'micro m2', 'micro m3'],
                product2: 'prod4'
            },
            {
                id: 3,
                sks: 'sk3',
                product1: 'prod5',
                product2: 'prod6'
            }];

将代码添加到javascript中以使其正常工作。

        $scope.addMicroM = function () {

         //some code here to add 

        };

这是我的JSON,我希望在点击偶数时将元素添加到产品1或任何其他数组的数组,同样我也想将它添加到产品2中。

我的HTML:

  <div class="row" id="{{x.id}}" ng-repeat="x in tableContent">

            <div class="cell" ng-click=openModal(x)> {{x.sks}} </div>
            <div class="cell" ng-click=openModal(x)>
                <div class=cellD ng-repeat=" pika in x.product1">{{pika}}</div>
            <div class="cellD" ng-click="addMicroM()">+</div>


    </div>
    <div class="cell" ng-click=openModal(x)>{{x.product2}}</div>
    <div class="cell" ng-click="addCol($event)">+</div>


</div>
<div class="row">

    <div class=cell ng-click=addRow()>+</div> 

1 个答案:

答案 0 :(得分:0)

function WidthChange() {

在你的HTML中:

$scope.addMicroM = function(obj, microm) {
    $scope.tableContent.forEach(function(elem){
         if(elem.id == obj.id){
             elem.product1.push(microm);
             if(elem.product2.constructor === Array){
                 elem.product2.push(microm);
             } else{
                var tmpArr = [];
                tmpArr.push(elem.product2);
                tmpArr.push(microm);
                elem.product2 = tmpArr;
             }
         }
    });
}