我的HTML:
<div class="check" ng-repeat="point in dbs">
<input
name="db"
id="{{point.id}}"
ng-model="point.select"
ng-click="update($index, dbs)"
ng-checked="false"
type="checkbox"
ng-required="point.select" />
</div>
虽然我的update()函数如下所示:
$scope.update = function(position, dbs) {
angular.forEach(dbs, function(point, index) {
if (position != index)
point.select = false;
});
}
这适用于跟踪所选复选框的内容,并发送到另一个需要该值的控制器,一切正常。
然而,当我从结果页面返回时,再次回到此搜索表单,不知何故我之前选择的复选框是预选的,我不希望出现任何内容,而只是将所有内容都空白。
是否就像简单说明一样容易:
$scope.point.select = null;
因为我似乎无法为此找到一个好的解决方案,因此当您到达此表单时,复选框始终为空白/未预选。
答案 0 :(得分:0)
让我看看我是否得到你正在做的事情。看起来您正试图使复选框列表互斥。我可能会看一下使用单选按钮列表(一组具有相同名称属性的单选按钮,HTML将其解释为互斥列表)。如果您创建一个变量来保存所选选项的值并传递该值,则可能可以用更少的代码实现相同的结果。看看这里:https://jsbin.com/sunusihuse/edit?html,js,output 至于在重新访问页面时清除控件列表,我所描述的也会这样做,因为保存所选值的变量的值被初始化为空字符串。希望这会有所帮助。