如何获取已选中的复选框的值

时间:2015-07-06 08:49:07

标签: html angularjs checkbox

我的html页面中有一个复选框列表。现在,当用户点击复选框并按下 Donwload 按钮时,我应该能够知道所有复选框已被选中状态。

 <tr st-select-mode="multiple" st-select-row="row"
            ng-repeat="row in orders">
 <td>{{ row.orderid }}<td>
 <td><input type="checkbox" name="{{ row.orderid }}"></td>
 </tr>
 <button type="button" class = "btn btn-default" ng-click="download()">Download Order</button>

因此,当我点击下载订单按钮时​​,我需要传递orderid的值,以便检查复选框状态。

那么如何做到这一点。我不知道如何继续。

1 个答案:

答案 0 :(得分:1)

您应该在复选框中使用ng-model,例如:

<input type="checkbox" ng-model="checkboxModel">

当选择或取消选择该值时,该值将会改变,并且分别为真或假。

可以通过调用$ scope.checkboxModel

来访问此值

如果要遍历所有复选框,最有用的是将它们添加到数组中。这可以通过使用ng-init:

来完成
<td ng-init="yourArray.push(row.orderid)"></td>

如果将其粘贴到tr(在ng-repeat中),则每次添加订单时都会执行此操作。然后,如果有人点击下载按钮,您可以循环浏览此数组以查看是否已选中。 (您仍然需要使用ng-model而不是名称)。

更好的解决方案是

<input type="checkbox" ng-model="checkbox[row.orderid]"></input>

这样每个复选框都将位于$ scope.checkbox数组中,您可以通过for循环遍历每个复选框并获取所有真实和错误的结果。使用此解决方案,您甚至不需要ng-init!