清除所选复选框范围值

时间:2016-03-03 22:16:33

标签: javascript angularjs

我的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;

因为我似乎无法为此找到一个好的解决方案,因此当您到达此表单时,复选框始终为空白/未预选。

1 个答案:

答案 0 :(得分:0)

让我看看我是否得到你正在做的事情。看起来您正试图使复选框列表互斥。我可能会看一下使用单选按钮列表(一组具有相同名称属性的单选按钮,HTML将其解释为互斥列表)。如果您创建一个变量来保存所选选项的值并传递该值,则可能可以用更少的代码实现相同的结果。看看这里:https://jsbin.com/sunusihuse/edit?html,js,output 至于在重新访问页面时清除控件列表,我所描述的也会这样做,因为保存所选值的变量的值被初始化为空字符串。希望这会有所帮助。