2013-10-07 51 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); 
     } 

,讓我來訪問模型和複選框的值。