javascript - 如何使用 Angular.js 获取表的每一行数据

标签 javascript angularjs

我需要一个帮助。我想使用 Angular.js 获取表的每一行数据。我在下面解释我的代码。

    <tr ng-repeat="d in days">
    <td>{{d.day_name}}</td>
    <td> <select class="form-control" name="catagory[$index]"  id="catagory[$index]" 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" name="subcatagory[$index]"  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[$index]" 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;"/>

当用户单击“保存”按钮时,每行数据应获取到 Controller 。我在下面解释我的代码。

$scope.saveResturantDetails=function(billdata){
        for(var i=0;i< $scope.days.length;i++){
            var data={'cat':$scope.catagory[i].value,'subcat':$scope.subcatagory[i].value,'comment':$scope.comment[i]};
            arr.push(data);
        }
        console.log('arr',arr);
}

在这里,我在每个模型中使用 $index ,以便我可以将数据放入循环中。但通过这种方式,我收到以下错误。

TypeError: Cannot read property 'value' of undefined 

请帮我解决这个问题。

最佳答案

在你的 Controller 中声明一个名为answers的范围对象。

$scope.days = [{name:"m"},{name:"t"}];
$scope.answers={};
$scope.save = function(){ console.log($scope.answers)};

然后你的 html 迭代天并将 ng-model 分配给答案对象。

<div><tr ng-repeat="d in days">
<td>{{d.name}}</td>
<td><input type="text" ng-model="answers['comment'+$index]"/></td>
</tr></div>
<button ng-click="save()">Save</button>

Ng Repeat 创建了 Chid Scope,所以我们不会在 Controller 中得到它。这肯定会起作用。我检查过

抱歉我的英语不好

关于javascript - 如何使用 Angular.js 获取表的每一行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35647899/

相关文章:

javascript - 修复导航栏子菜单离开屏幕

javascript - 如何在 Angular 的 promise 之外获取变量?

javascript - 将 Angular Service 对象绑定(bind)到 Controller Scope 并更新

Javascript 函数打印 .innerHTML 但 HTML 在消失前只出现了片刻

javascript - 如何解决开 Jest 单元测试中的问题?

javascript - Angularjs - 动态插入指令到dom元素

javascript - Lodash 过滤器忽略大小写

javascript - 浮起来的行

javascript - 将数组列表复制到另一个数组列表

javascript - $event.stopPropogation 不是 Angularjs 单元测试中的函数错误