2015-07-06 48 views
0

我在我的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

您应该使用NG-模型的复选框,例如:当它处于选中状态,将是真或假,分别

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

值会发生变化。

这个值可以通过调用$ scope.checkboxModel

如果你想通过所有的复选框回路进行访问,最有用的是将它们添加到一个数组。这可以通过使用NG-INIT来完成:

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

如果粘贴在你的TR(在你的NG-重复),它会执行此每次它增加了一个数量级。然后如果有人点击下载按钮,你可以循环访问这个数组来查看它是否被选中。 (你仍然需要使用ng-model而不是name)。

一个尚未更好的解决办法是

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

这样每一个复选框,将在$ scope.checkbox阵列土地,你可以只通过一个为每循环得到的所有结果true和false 。有了这个解决方案,你甚至不需要ng-init!

+0

但如何查找已被点击的多个复选框。有什么方法可以添加到数组 – anand

+0

我编辑我的答案,更准确地解决问题,我相信你有 – Gerdinand

+0

让我知道它是否适合你:) – Gerdinand