Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 验证是否取消选中所有复选框的快速方法?_Javascript_Html_Validation_Forms_Input - Fatal编程技术网

Javascript 验证是否取消选中所有复选框的快速方法?

Javascript 验证是否取消选中所有复选框的快速方法?,javascript,html,validation,forms,input,Javascript,Html,Validation,Forms,Input,如果取消选中所有复选框,是否有一种快速方法或函数可以告诉我true/false?不经过数组?(使用JS和HTML) 我所有的复选框都有相同的名称 <form action="/cgi-bin/Lib.exe" method=POST name="checks" ID="Form2"> <input type=checkbox name="us" value="Joe" ID="Checkbox1"> <input type=checkbox name

如果取消选中所有复选框,是否有一种快速方法或函数可以告诉我true/false?不经过数组?(使用JS和HTML)

我所有的复选框都有相同的名称

<form action="/cgi-bin/Lib.exe" method=POST name="checks" ID="Form2">
    <input type=checkbox name="us" value="Joe" ID="Checkbox1">
    <input type=checkbox name="us" value="Dan" ID="Checkbox2">
    <input type=checkbox name="us" value="Sal" ID="Checkbox3">
</form>

总之,如果未选中所有选项,则此截断将返回true。一旦找到一个被检查过的,它就会自动退出

var a = document.getElementsByName("us");
for(var i=0; i<a.length; i++)
   if(a[i].checked)
      return false;
return true;
var a=document.getElementsByName(“us”);

总之,对于(var i=0;i,如果未全部检查,则此截断将返回true。一旦找到已检查的,它将立即退出

var a = document.getElementsByName("us");
for(var i=0; i<a.length; i++)
   if(a[i].checked)
      return false;
return true;
var a=document.getElementsByName(“us”);

对于(var i=0;i您必须循环遍历它们。即使像jQuery这样的库也会循环遍历它们,只需对您隐藏它即可

var form = document.getElementById('Form2');
var inputs = form.getElementsByTagName('input');
var is_checked = false;
for(var x = 0; x < inputs.length; x++) {
    if(inputs[x].type == 'checkbox' && inputs[x].name == 'us') {
        is_checked = inputs[x].checked;
        if(is_checked) break;
    }
}
// is_checked will be boolean 'true' if any are checked at this point.
var form=document.getElementById('Form2');
var inputs=form.getElementsByTagName(“输入”);
var被检查=假;
对于(变量x=0;x
您必须遍历它们。即使像jQuery这样的库也会遍历它们,只需对您隐藏它即可

var form = document.getElementById('Form2');
var inputs = form.getElementsByTagName('input');
var is_checked = false;
for(var x = 0; x < inputs.length; x++) {
    if(inputs[x].type == 'checkbox' && inputs[x].name == 'us') {
        is_checked = inputs[x].checked;
        if(is_checked) break;
    }
}
// is_checked will be boolean 'true' if any are checked at this point.
var form=document.getElementById('Form2');
var inputs=form.getElementsByTagName(“输入”);
var被检查=假;
对于(变量x=0;x jQuery对于一项任务来说是一个不必要的臃肿。如果你把它用于其他目的,考虑使用它,但是你所需要的是这样的:

function AreAnyCheckboxesChecked () {
  var checkboxes = document.forms.Form2.elements.us;
  for (var i = 0; i < checkboxes.length; i++) {
    if (checkboxes[i].checked) {
      return true;
    }
  }
  return false;
}
function areanyCheckboxes选中(){
var复选框=document.forms.Form2.elements.us;
对于(变量i=0;i jQuery对于一项任务来说是一个不必要的臃肿。如果你把它用于其他目的,考虑使用它,但是你所需要的是这样的:

function AreAnyCheckboxesChecked () {
  var checkboxes = document.forms.Form2.elements.us;
  for (var i = 0; i < checkboxes.length; i++) {
    if (checkboxes[i].checked) {
      return true;
    }
  }
  return false;
}
function areanyCheckboxes选中(){
var复选框=document.forms.Form2.elements.us;
对于(变量i=0;i
你说的是什么意思

不经过数组

?

你可以这么做

 function check() {
    var anyChecked = false;
    var form = document.getElementById('Form2');
    var checkboxes = form.getElementsByTagName('input');
    for(var i=0; i < checkboxes.length; i++) {
            if (checkboxes[i].checked) {
                anyChecked  = true;
                break;
            }
    } 
    alert("Checkboxes checked? " + anyChecked);
}
函数检查(){
var anyChecked=false;
var form=document.getElementById('Form2');
var复选框=form.getElementsByTagName(“输入”);
对于(变量i=0;i
你所说的什么意思

不经过数组

?

你可以这么做

 function check() {
    var anyChecked = false;
    var form = document.getElementById('Form2');
    var checkboxes = form.getElementsByTagName('input');
    for(var i=0; i < checkboxes.length; i++) {
            if (checkboxes[i].checked) {
                anyChecked  = true;
                break;
            }
    } 
    alert("Checkboxes checked? " + anyChecked);
}
函数检查(){
var anyChecked=false;
var form=document.getElementById('Form2');
var复选框=form.getElementsByTagName(“输入”);
对于(变量i=0;i
JavaScript:

var allischecked = (function(){
  var o = document.getElementById("Form2").getElementsByTagName("input");
  for(var i=0,l=o.length;i<l;i++){
    o[i].type === "checkbox" && o[i].name === "us" && o[i].checked || return false;
  }
  return true;
})();
JavaScript:

var allischecked = (function(){
  var o = document.getElementById("Form2").getElementsByTagName("input");
  for(var i=0,l=o.length;i<l;i++){
    o[i].type === "checkbox" && o[i].name === "us" && o[i].checked || return false;
  }
  return true;
})();

如果您有大量不想循环测试的复选框,那么使用这种方法可能更有效

var checked = 0;

$("input[type=checkbox]").live("click", function() {
    if($(this).attr("checked")) checked++;
    else checked--;
}
那么你就可以这样测试了

if(checked === 0) {
    doSomething();
}

如果您有大量不想循环测试的复选框,那么使用这种方法可能更有效

var checked = 0;

$("input[type=checkbox]").live("click", function() {
    if($(this).attr("checked")) checked++;
    else checked--;
}
那么你就可以这样测试了

if(checked === 0) {
    doSomething();
}

选中jQuery属性
的正确解决方案

$checkbox=$(“#表单2输入:复选框”);
$checkboxes.on('单击',复选框);
函数复选框(){
var allChecked=$checkbox.not(“:checked”).length==0;
console.log(全部选中);
}

乔
丹
萨尔

选中jQuery属性的正确解决方案

$checkbox=$(“#表单2输入:复选框”);
$checkboxes.on('单击',复选框);
函数复选框(){
var allChecked=$checkbox.not(“:checked”).length==0;
console.log(全部选中);
}

乔
丹
萨尔

无需循环就更容易了

const toggleCheckboxes = checkbox => {
   if(checkbox.checked){
      return true
   }else{
      if(document.querySelectorAll(':checked').length === 0){
          // All are unchecked
          return false
      }
   }
}

更容易没有循环

const toggleCheckboxes = checkbox => {
   if(checkbox.checked){
      return true
   }else{
      if(document.querySelectorAll(':checked').length === 0){
          // All are unchecked
          return false
      }
   }
}

getElementsByName在IE中有点古怪,在Opera中有点古怪:,我试着完全避免它。getElementsByName在IE中有点古怪,在Opera中有点古怪:,我试着完全避免它。谢谢你的链接-以前没见过那张图表谢谢你的链接-以前没见过那张图表如果勾选最后一个复选框,它不会返回吗?例如,Sal在ex中示例。如果选中最后一个复选框,这不会返回吗?例如,示例中的Sal。+1表示也显示JQuery版本。是的,如果这是您想要做的,JQuery就太过分了。但是如果您有其他验证、AJAX等,那么一行测试很难击败。+1表示也显示JQuery版本。是的,如果这是您想要做的,JQuery就是但是如果你有其他的验证,AJAX等等,那么一行测试是很难打败的。