当前位置: 首页 > 面试题库 >

角度复选框的“全选”功能,最初仅选择了一个复选框

沈俊晤
2023-03-14
问题内容

我有一个包含3个复选框的表单:“ ”,“ 选项1 ”和“ 选项2 ”。

<form id="selectionForm">
    <input type="checkbox" ng-model="selectAll" >Select all
    <br>
    <input type="checkbox" ng-checked="selectAll" checked>Option 1
    <br>
    <input type="checkbox" ng-checked="selectAll">Option 2
</form>

在初始页面加载中,我 希望检查 选项1 。然后,如果 选中了“全选” 复选框,则它应自动选中 选项1选项2,
以便全部选中。

问题是在初始页面加载时对ng-checked =“ selectAll”进行评估,这将覆盖我最初仅检查选项1的尝试(最初selectAll =
false),因此未选择任何内容。

这似乎是一个简单的问题,但我无法解决。…在此先感谢您的见解或建议!


问题答案:

解决该问题的另一种方法是对选项使用模型,在模型中设置默认选择,然后让控制器处理全选的逻辑。

angular.module("app", []).controller("ctrl", function($scope){



  $scope.options = [

    {value:'Option1', selected:true},

    {value:'Option2', selected:false}

  ];



  $scope.toggleAll = function() {

     var toggleStatus = !$scope.isAllSelected;

     angular.forEach($scope.options, function(itm){ itm.selected = toggleStatus; });



  }



  $scope.optionToggled = function(){

    $scope.isAllSelected = $scope.options.every(function(itm){ return itm.selected; })

  }

});


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js">    </script>

<div ng-app="app" ng-controller="ctrl">

<form id="selectionForm">

    <input type="checkbox" ng-click="toggleAll()" ng-model="isAllSelected">Select all

    <br>

     <div ng-repeat = "option in options">

        <input type="checkbox" ng-model="option.selected" ng-change="optionToggled()">{{option.value}}

     </div>

</form>

  {{options}}

</div>


 类似资料:
  • 问题内容: 那么,如何只允许用户选择一个复选框呢? 我知道单选按钮是“理想的”,但出于我的目的……不是。 我有一个字段,用户需要选择两个选项中的一个或两个,但不能两个都选。问题是我还需要我的用户也可以取消选择他们的选项,这是单选按钮失败的地方,因为一旦选择了组,就必须选择一个选项。 我将通过php验证信息,但是我仍然想将用户限制在一个答案,如果他们想给它的话。 问题答案: 该代码段将: 允许像单选

  • 选中“第一键”复选框时,我想选中并禁用“第二键”复选框 html代码 为复选框键入脚本代码 } 通过使用此代码,key 2复选框被选中并禁用。但是key 2复选框的布尔值仍然是假的。当我单击key 1复选框时,关于如何将key 2复选框的布尔值更改为true的任何建议我正在使用Angular 8及其反应式形式模块。我是角度新手。

  • 问题内容: 我正在尝试选中一个复选框的所有复选框。但是该怎么做呢? 这是我的HTML: 我创建了一个额外的复选框以选择并取消选择所有复选框。 JS: 我也尝试过,但是没有一个对我有用:( 问题答案: 您错过了容器的div 和和。 是正确的变体。 https://jsfiddle.net/0vb4gapj/1/

  • 我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja

  • 本文向大家介绍Js实现复选框的全选、全不选反选功能代码实例,包括了Js实现复选框的全选、全不选反选功能代码实例的使用技巧和注意事项,需要的朋友参考一下 主要是用遍历的方法查找元素,然后通过改变checked的属性来选择,为true则是选中状态,为false则是未选状态 实现代码 结果 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我有一个带有3个复选框的html页面。每个输入框旁边都有一个文本。复选框嵌套在div标签中。 我想选择具有文本“清洁”的复选框 我的Xpath正在选择3个复选框 如何选择清除文本的复选框?它位于id为=“operations\u edit\u process\u list\u task\u 1”的div标记内 我的Xpath是: 超文本标记语言是: 谢了Riaz