2013-10-07 53 views
0

值我有三个复选框项目如何获得一个复选框项目的角度

<input type="checkbox" name="my_list" value="val 1"> 
<input type="checkbox" name="my_list" value="val 2"> 
<input type="checkbox" name="my_list" value="val 3"> 

我希望能够在角做的是,当我点击一个框,例如“VAL 2”

my_list.value // yields 'val 2' 
my_list.checked // yields true or false depending on if it's checked or not 

问题是

my_list.value 

返回true或false,这不是我所希望的。我希望它能够返回'value'属性中的内容。

回答

1

您可以使用ng-true-value像这样:

<input type="checkbox" name="my_list" ng-model="my_list" ng-true-value="val 1"> 
<input type="checkbox" name="my_list" ng-model="my_list" ng-true-value="val 2"> 
<input type="checkbox" name="my_list" ng-model="my_list" ng-true-value="val 3">  

{{my_list}}那么将是空的,如果没有被选中,并显示“VAL 1”如果第一个复选框被选中,等

1

复选框是一个多项选择输入,所以它们每个都应该有自己的名字(或者说:ng-model)。如果你想有一个单一的选择输入,你sholud使用无线电

<input type="radio" ng-model="value" value="val 1" /> 
<input type="radio" ng-model="value" value="val 2" /> 

而现在,{{value}}将进行评估,以val 1val 2,根据选择。

+0

谢谢,但这不是我要求的。我需要建立一个列表,其值是复选框的值。这样,如果我选中一个框,我知道使用该值,否则不会。如果您能回答我发布的问题,我很乐意接受您的答案。 :) – Padraig

+0

只有我能想到的方法是在你的控制器中声明'$ scope.value = []',将复选框绑定到'value [0]','value [1]'等,然后删除nulls形式'value' (例如使用Underscore:'_.without(value,null)')。 – lort

0

谢谢你们,但我自己解决了它。

我用一个复选框这样的:

<input type="checkbox" name="Added Items" ng-change="checkbox_change('my_list1', 'val 1')" ng-model="my_list1" value="val 1"> 

该参数指定 1.哪种模式来访问。 2.复选框的值。

我然后使用此功能

 $scope.checkbox_change = function(key, val) { 
     alert($scope[key]); 
     alert(val); 
     } 

,让我来访问模型和复选框的值。