无法使用Angular.js或Javascript将表中的行值设置为数组

时间:2016-02-26 06:05:30

标签: javascript arrays angularjs

我需要一个帮助。我需要在使用Angular.js更改索引后将一些值设置到数组中。我正在解释下面的代码。

<tr ng-repeat="d in days">
    <td>{{d.day_name}}</td>
    <td> <select class="form-control" id="catagory" ng-model="catagory" ng-options="cat.name for cat in listOfCatagory track by cat.value " ng-change="removeBorder('catagory',$index,catagory.value);">
     </select></td>
    <td>
        <select class="form-control" id="subcatagory[$index]" ng-model="subcatagory[$index]" ng-options="sub.name for sub in listOfSubCatagory[$index] track by sub.value " ng-change="setSubCatagory($index,subcatagory[$index].value);">
    <option value="">Select Subcategory</option>
    </select>

    </td>
    <td><input type="text" name="comment" id="comment" class="form-control oditek-form" placeholder="Add Comment" ng-model="comment[$index]" ng-keyup="comment($index,comment[$index]);"></td>
</tr>
<input type="button" class="btn btn-success" ng-click="saveResturantDetails(billdata);"  id="saveData" value="Save"   style="margin-right:20px;"/> 

我正在收集如下的每一行数据。

var rowData = {};
 $scope.removeBorder = function(id, index, catvalue) {
     $scope.listOfSubCatagory[index] = [];
     var catdata = $.param({
         'action': 'subcat',
         'cat_id': catvalue
     });
     $http({
         method: 'POST',
         url: "php/customerInfo.php",
         data: catdata,
         headers: {
             'Content-Type': 'application/x-www-form-urlencoded'
         }
     }).then(function successCallback(response) {
         angular.forEach(response.data, function(obj) {
             var data = {
                 'name': obj.subcat_name,
                 'value': obj.subcat_id
             };
             $scope.listOfSubCatagory[index].push(data);
         })
     }, function errorCallback(response) {})
     rowData['cat'] = catvalue;

 }
 $scope.setSubCatagory = function(index, subcatvalue) {
     rowData['subcat'] = subcatvalue;
     console.log('sub cat', rowData);
 }
 $scope.comment = function(index, comment) {
     rowData['comment'] = comment;
 }

这里我需要将所有行选中的值按行排列到数组中。请帮助我。

1 个答案:

答案 0 :(得分:0)

创建3个字符串对象var Category,var SubCategory和var Comment。

在保存功能上,将三个变量推送到Rowdata数组:

rowData.push({Cat:Category, SubCat:SubCategory , Comment:Comment});