我有一個表單,其中有多個複選框,我使用ng-repeat從JSON文件中顯示覆選框數據。現在,當我提交表單時,我想從複選框中獲取選中的數據。表單提交後如何訪問檢查的數據? 我做了一些研究,現在我可以使用ng-model="s.checked"
在頁面上顯示檢查的數據,但是我怎樣才能訪問控制器端的檢查數據。從表單中獲取複選框中的選定數據
請參見本Plunk的細節
我有一個表單,其中有多個複選框,我使用ng-repeat從JSON文件中顯示覆選框數據。現在,當我提交表單時,我想從複選框中獲取選中的數據。表單提交後如何訪問檢查的數據? 我做了一些研究,現在我可以使用ng-model="s.checked"
在頁面上顯示檢查的數據,但是我怎樣才能訪問控制器端的檢查數據。從表單中獲取複選框中的選定數據
請參見本Plunk的細節
的$scope.List
的結構,當你提交併沒有改變,它仍然是對象的數組。你可以這樣做
$scope.submit = function() {
var checkedItems = $scope.List.filter(function(item){
return item.checked;
});
console.log(checkedItems);
};
已經改變的了List
項目的值。
(而且,它通常是使用ngSubmit一個好主意)
也許唯一需要補充的是'Array.prototype.filter' [不支持](http:// kangax。 IE8(和IE7)上的github.io/es5-compat-table/#Array.prototype.filter)。 – PrimosK
你有對象的數組:
$scope.list = [
{"ID":5000,"Name":"ABC",checked:true},
{"ID":5001,"Name":"DEF",checked:false},
{"ID":5002,"Name":"XYZ",checked:false}];
這樣你就可以訪問檢查屬性的值是這樣的:
$scope.submit = function() {
var val1 = $scope.list[0].checked;
var val2 = $scope.list[1].checked;
var val3 = $scope.list[2].checked;
}
或使用forEach
聲明:
$scope.submit = function() {
angular.forEach($scope.list, function (listValue) {
var val = listValue.checked;
});
}
可能重複的[所有複選框得到檢查時檢查(應該只是一個檢查) - 輸入生成的角度js](http://stackoverflow.com/questions/17487951/all-checkboxes-get-checked -when-one-is-checked-should-be-one-one-checked) –