我的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的值,以便检查复选框状态。
那么如何做到这一点。我不知道如何继续。
答案 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!