如何使用angular.js选择输入复选框时获取表的行数据

时间:2015-12-08 10:55:59

标签: javascript angularjs

我需要一个帮助。我需要在使用angular.js选择复选框时获取行数据列表。我正在解释下面的代码。

<tbody id="detailsstockid">
  <tr ng-repeat="p in viewIncompleteData">
    <td>
       {{$index+1}}<input type="checkbox" ng-model="checkboxModel.value1">   
    </td>
    <td>
       {{p.Product_name}}
    </td>
    <td>
       {{p.Discount}}
    </td>
    <td>
       {{p.Offer}}
    </td>
    <td>
       {{p.unit_cost_price}}
    </td>
    <td>
       {{p.unit_sale_price}}
    </td>
    <td>
       {{p.quantity}}
    </td>
    <td> 
    </td>
  </tr> 
</tbody>

<div style="text-align:center; padding-top:10px;" ng-show="updateButton">
   <input type="button" class="btn btn-success" ng-click="UpdateProductstockData();"  id="addProfileData" value="Add Total"/>
</div> 

当用户首先点击Add Total按钮时,如果选中了任何复选框,它将检查验证。当任何复选框将选择相应的行数据时,将在点击事件功能中获取。请帮助我

2 个答案:

答案 0 :(得分:1)

<tbody id="detailsstockid">
    <tr ng-repeat="p in viewIncompleteData">
    <!-- Added new property to your scope variable viewIncompleteData -->
    <td>{{$index+1}}<input type="checkbox" ng-model="p.isChecked">  </td> 
    <td>{{p.Product_name}}</td>
    <td>{{p.Discount}}</td>
    <td>{{p.Offer}}</td>
    <td>{{p.unit_cost_price}}</td>
    <td>{{p.unit_sale_price}}</td>
    <td>{{p.quantity}}</td>
    <td> 
  </td>
    </tr>   
    </tbody>

<div style="text-align:center; padding-top:10px;" ng-show="updateButton">
<input type="button" class="btn btn-success" ng-click="UpdateProductstockData();"  id="addProfileData" value="Add Total"/>
 </div>

现在您可以检查变量viewIncompleteData[i].isChecked以了解已检查的内容。

$scope.UpdateProductstockData = function(){
    angular.forEach($scope.viewIncompleteData, function(value, index){
        if(value.isChecked){
            // this row is selected
        }
    });
}

希望这会对你有帮助......

答案 1 :(得分:0)

据我所知,您应该使用数组来跟踪相应列的复选框值(例如ng-model =&#34; checkboxModel.value1 [$ index]&#34;)。 现在,当您单击ADD TOTAL按钮时,调用一个函数。功能应该是这样的:

function(){
 for(var i=0;i<$scope.viewIncompleteData.length;i++){
  if(checkboxModel.value1[i]==true){
   var data=$scope.viewIncompleteData[i];
  }
 }
}

现在,当选中复选框时,数据就是您获取的行数据。