2016-02-12 83 views
0

我在默認情況下檢查我的角應用程序中的一些複選框。這些都是在ng-pristine state.How可以在我的控制器中接收這些輸入時,表單張貼而不使他們骯髒。
<input type="checkbox" name="c1" name="favoriteColors" ng-model="data.checkboxtest[1]" ng-checked="true"> <input type="checkbox" name="c2" name="favoriteColors" ng-model="data.checkboxtest[2]">發送原始輸入角控制器

控制器:

$scope.submitNewTemplate = function(){ console.log($scope.data.checkboxtest) }

返回 「未定義」

回答

0

看到我添加了一些演示代碼複選框這裏

請有它看看。 可能是這將幫助你

var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.name = 'World'; 
 
    $scope.testModel = { 
 
    item1: true, 
 
    item2: false, 
 
    item3: false 
 
    }; 
 
    $scope.submit = function() { 
 
    console.log($scope.testModel); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<html ng-app="plunker"> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>AngularJS Plunker</title> 
 
    <script> 
 
    document.write('<base href="' + document.location + '" />'); 
 
    </script> 
 
    <link rel="stylesheet" href="style.css"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.js"></script> 
 
    <script src="app.js"></script> 
 
</head> 
 

 
<body ng-controller="MainCtrl"> 
 

 
    <label> 
 
    <input type="checkbox" name="test1" ng-model="testModel.item1" />Testing</label> 
 
    <br /> 
 
    <label> 
 
    <input type="checkbox" name="test2" ng-model="testModel.item2" />Testing 2</label> 
 
    <br /> 
 
    <label> 
 
    <input type="checkbox" name="test3" ng-model="testModel.item3" />Testing 3</label> 
 
    <br /> 
 
    <input type="button" ng-click="submit()" value="Submit" /> 
 
    <pre>{{testModel|json}}</pre> 
 
</body> 
 

 
</html>

希望這將幫助你很多。

0

好問題,我從來沒有花時間看這個。 這是一個解決方法,你想要什麼, ,但它做的工作。

<input type="checkbox" name="c1" name="favoriteColors" ng-model="data.checkboxtest[1]" ng-init='data.checkboxtest[1] = true'> 
<input type="checkbox" name="c2" name="favoriteColors" ng-model="data.checkboxtest[2]" ng-init='data.checkboxtest[2] = false'> 

這裏就是我找到了答案How to check if any Checkbox is checked in Angular

+0

感謝,不解決我的問題answer.but。實際上,我的複選框輸入將通過下拉菜單動態更改,而不會觸及複選框。 –

0

您可以直接檢查truefalse

if($scope.data.checkboxtest[1]){ 
    //checked 
}else{ 
    //unchecked 
}