Javascript 验证是否取消选中所有复选框的快速方法?
如果取消选中所有复选框,是否有一种快速方法或函数可以告诉我true/false?不经过数组?(使用JS和HTML) 我所有的复选框都有相同的名称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
<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等等,那么一行测试是很难打败的。