2016-12-01 66 views
0
<!DOCTYPE html> 
<html> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
<body> 

<div ng-app="myApp" ng-controller="myCtrl"> 
<div ng-repeat='x in trail'> 
<input type=checkbox ng-model='one1'>{{x}}</div> 
<div ng-repeat='x in array'> 
<p ng-hide='one1' >{{x}}</p> 
</div> 
</div> 
</div> 

<script> 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
$scope.trail = ["Volvo","bike","access","rocket"]; 
$scope.array = ["Volvo","bike","access","rocket"]; 
}); 
</script> 
</body> 
</html> 

当我运行这个,并点击任何复选框,整个数组值应该隐藏,但不隐藏。ng-model没有正确更新

+0

你会写$ scope.one1 = FALSE;到你的控制器? – hurricane

+0

是的,但我想设置one1的值使用checkboxc – Abhishek

+0

我得到这个,但你需要在使用前初始化它。 – hurricane

回答

0

添加一个变量到$ scope.trail阵列类似“检查”

<input type=checkbox ng-model="x.checked"> 

你可以看到一个demo here

0

其实我发现您为例问题即如果您创建了一个ng-repeat并使用具有相同范围值的输入区域,则数组值不等于范围值。

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

function MyCtrl($scope) { 
    $scope.trail = ["Volvo","bike","access","rocket"]; 
     $scope.array = ["Volvo","bike","access","rocket"]; 
    $scope.one = true; 
} 

<div ng-app="myApp" ng-controller="MyCtrl"> 
<input type="checkbox" ng-model="one">{{one}} {{x}} 
    <div ng-repeat='x in trail'> 

    </div> 
    <div ng-repeat='x in array'> 
    <label ng-show="one == true" >{{x}}</label> 
    </div> 
</div> 

Working Example