通过 Javascript 或控制台选中“全部”复选框

Select All checkbox by Javascript or console

本文关键字:全部 复选框 Javascript 控制台 通过      更新时间:2023-09-26

我的网页上有100个复选框。出于测试目的,我想勾选所有这些框,但手动单击很耗时。有没有可能的方法让他们打勾?

也许是JavaScript或Chrome控制台窗口,什么?

最直接的方法是获取所有输入,仅过滤掉复选框,然后设置选中的属性。

var allInputs = document.getElementsByTagName("input");
for (var i = 0, max = allInputs.length; i < max; i++){
    if (allInputs[i].type === 'checkbox')
        allInputs[i].checked = true;
}

如果你碰巧在使用jQuery——我并不是说你应该开始勾选所有测试复选框——你可以简单地做

$("input[type='checkbox']").prop("checked", true);

或者正如法布里西奥指出的那样:

$(":checkbox").prop("checked", true);

纯JS方法,不要使用jQuery..对于如此微不足道的事情来说,它只是愚蠢的。

[].forEach.call( document.querySelectorAll('input[type="checkbox"]'),function(el){
       el.checked=true;
     }
);​

现场演示

要在任何网页上使用它,您可以将其粘贴到地址栏中

javascript:[].forEach.call(document.querySelectorAll('input[type="checkbox"]'),function(el){el.checked=true});

然后将其拖到您的书签中,您就有一个书签。每当您需要在页面上使用它时,只需单击它即可。

如果你不想要jQuery,querySelectorAll是你最好的选择!

var ele = document.querySelectorAll("input[type=checkbox]");
for(var i=0;i<ele.length;i++){
    ele[i].checked = true;
}
//Done.

通过使用jquery,就这么简单

$('input:checkbox').each(function () {
   // alert(this);
   $(this).attr('checked', true);
  });

或者干脆使用

$('input:checkbox').prop('checked', true);// use the property

 $('input:checkbox').attr('checked', true); // by using the attribute

只需将以下单行代码之一粘贴到浏览器控制台:

勾选所有复选框:

document.querySelectorAll('input[type="checkbox"]').forEach(e => e.checked = true);

取消选中所有复选框:

document.querySelectorAll('input[type="checkbox"]').forEach(e => e.checked = false);

此JS代码将选中页面中的所有复选框:

var a = document.querySelectorAll('input[type="checkbox"]');
for (var i=0; i<a.length; i++)
    a[i].checked = true;​

现场演示

然后你所要做的就是用它创建一个书签,比如说,用这个书签制作器,它会生成这个书签代码:

javascript:var a=document.querySelectorAll('input[type="checkbox"]');for(var i=0;i<a.length;i++)a[i].checked=true;%E2%80%8B

只需将此 URI 添加到书签工具栏中的书签中,您所要做的就是在需要选中页面中的所有复选框时单击它。 =]

多个"全选"和"取消选中所有"框

您只需要更改标签"名称"即可更改其图灵开/关

<FORM>
    <input type="checkbox" name="item0[]" onclick="CheckAll(this)" />
    <input type="checkbox" name="item0[]" value="1" />
    <input type="checkbox" name="item0[]" value="2" />
    <input type="checkbox" name="item0[]" value="3" />
    <br>
    <input type="checkbox" name="item1[]" onclick="CheckAll(this)" />
    <input type="checkbox" name="item1[]" value="a" />
    <input type="checkbox" name="item1[]" value="b" />
    <input type="checkbox" name="item1[]" value="c" />
    <br>
    <input type="checkbox" name="item2" onclick="CheckAll(this)" />
    <input type="checkbox" name="item2" value="a1" />
    <input type="checkbox" name="item2" value="b2" />
    <input type="checkbox" name="item2" value="bc" />
</FORM>
<script>
    function CheckAll(x)
    {
        var allInputs = document.getElementsByName(x.name);
        for (var i = 0, max = allInputs.length; i < max; i++) 
        {
            if (allInputs[i].type == 'checkbox')
            if (x.checked == true)
                allInputs[i].checked = true;
            else
                allInputs[i].checked = false;
        }
    }
</script>

我在通过开发人员工具检查页面中的所有复选框中提供了这个问题的答案

简而言之,您可以通过以下方式从开发工具控制台 (F12) 执行此操作:

$$('input').map(i => i.checked = true)

$$('input[type="checkbox"').map(i => i.checked = true)

以下代码将切换所有复选框。我认为这在您想要该功能时很有用。如果您选中一个框,它将取消选中该框。我知道这在技术上不能回答这个问题,但我想把它放在这里,因为它是我使用的。感谢您的评论。我希望这个答案更适合您的托盘。

//Select All Checkboxes On Page
allSelects = document.querySelectorAll('input[type="checkbox"]');
for(i=0;i<allSelects.length;i++){
  allSelects[i].click();
}
  function selectAll(elem)
  {
  for (i = 0; i < elem.length; i++)
    elem[i].checked = true ;
  }

单击按钮时调用此方法并传递元素的名称(复选框 - 它们都应该同名)。