【发布时间】:2014-12-15 04:24:57
【问题描述】:
在 ng-repeat 中使用 Checkbox 的行为类似于单选按钮时遇到问题。选择和取消选择框,一次只会选择一个框。 没有 Ng-repeat。 但我想在 ng-repeat 中使用它。
这是我的 HTML 文件:
<!DOCTYPE html>
<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 data-require="angular.js@1.1.x" src="http://code.angularjs.org/1.1.5/angular.min.js" data-semver="1.1.5"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<h1> WithOut ng-repeat </h1>
<input type="checkbox" ng-checked="model1=='11'" ng-click="model1='11'"> a
<br/>
<input type="checkbox" ng-checked="model1=='12'" ng-click="model1='12'"> b
<br/>
<input type="checkbox" ng-checked="model1=='13'" ng-click="model1='13'"> c
<br>
Model = {{model1}}
<h1> With ng-repeat </h1>
<div data-ng-repeat="p in pp.rate">
<input type="checkbox" ng-checked="model=='{{p.price}}'"
ng-click="model='{{p.price}}'">
Model = {{model}}
</div>
</body>
</html>
这是我的控制器:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.pp = {
rate: [ {price: '11'},
{price: '12'},
{price: '13'}
]
};
});
这是我的 Plunker 链接 http://plnkr.co/edit/BUHPNjTGaIsG33hsSWeC?p=preview
请给我一个解决方案提前谢谢。
【问题讨论】:
-
为什么不只使用单选按钮。这就是他们的目的。
-
因为我的要求不是单选按钮,这就是我使用复选框的原因。
-
会悄悄地建议您的要求可能会从调整中受益。设计师似乎很少知道单选按钮和复选框之间的区别。
-
这是一个有效的要求 - 用户可以不选择任何内容或其中之一。使用单选按钮,您无法取消选择。
标签: javascript html angularjs twitter-bootstrap