Javascript 如果选中所有收音机,则显示/隐藏div
我有N组收音机。如果选中了所有组的收音机,我想显示一个div,如果没有选中所有组,则显示另一个div: HTMLJavascript 如果选中所有收音机,则显示/隐藏div,javascript,jquery,html,validation,radio-button,Javascript,Jquery,Html,Validation,Radio Button,我有N组收音机。如果选中了所有组的收音机,我想显示一个div,如果没有选中所有组,则显示另一个div: HTML <p> <input type="radio" name="period" value="1" />1 Year <input type="radio" name="period" value="2" />2 Years <input type="radio" name="period" value="3" />
<p>
<input type="radio" name="period" value="1" />1 Year
<input type="radio" name="period" value="2" />2 Years
<input type="radio" name="period" value="3" />3 Years
</p>
<br>
<p>
<input type="radio" name="year" value="1" />2015
<input type="radio" name="year" value="2" />2014
<input type="radio" name="year" value="3" />2013
</p>
<br>
<p>
<input type="radio" name="student" value="1" />Paul
<input type="radio" name="student" value="2" />Mary
<input type="radio" name="student" value="3" />Jane
</p>
<br>
<div class="notchecked">[not all checkboxes are selected yet]</div>
<div class="yeschecked">[submit button]</div>
您可以获得选中的单选按钮计数,如果它是三,则选择所有类别
这可以通过
length
$(document).ready(function(){
var total = totalChecked = 0;
$('input[type=radio]').on("change",function(){
totalChecked = $('input[type=radio]:checked').length;
if( totalChecked == 3 ){
$('.yeschecked').show();
$('. notchecked').hide();
} else {
$('. notchecked').show();
$('.yeschecked').hide();
}
})
});
有关长度,请参阅
下面是一个示例,
3
不是硬编码的:
$(函数(){
$(“.yeschecked”).hide();
//计数按名称分组的单选按钮数
变量组=[];
$(“输入[type=radio]”)。每个(函数(){
如果($.inArray(this.name,radiogroup)>=0){
返回;
}
radiogroup.push(此.name);
});
//放射组=[“期间”、“年份”、“学生”]
$(“input[type=radio]”)。在(“change”,function()上{
var all=$(“输入[type=radio]:选中”)。长度===radioGroups.length;
//使用http://api.jquery.com/toggle/#toggle-展示
$(“.yeschecked”)。切换(全部);
$(“.notchecked”).toggle(all==false);
});
});代码>
一年
两年
三年
2015
2014
2013
保罗
玛丽
简
[尚未选中所有复选框]
[提交按钮]
作为一个组,只会选择一个收音机,因此这里只会检查3个收音机
var totl;//跟踪所有无线电组
$(函数(){
var rdos=$('input[type=radio]');
rdos.on('change',toggleDivs);
var-tmp=[],nm;
每个(函数(){
nm=this.name.toLowerCase();
if(-1==$.inArray(nm,tmp))//在数组中找不到
tmp.push(nm);//新组
});
totl=tmp.length;//获取无线组的计数
toggleDivs();//页面加载触发器
});
var toggleDivs=函数(){
var chkd=$('input[type=radio]:checked')。长度;
$('div.notchecked')。切换(chkd!==totl);
$('div.yeschecked').toggle(chkd==totl);
};代码>
一年
两年
三年
2015
2014
2013
保罗
玛丽
简
[尚未选中所有复选框]
[提交按钮]
复选框
,我在代码中没有看到任何复选框我的错误。我做了广播,但写了复选框。已修复。是否确实要选中所有单选按钮?^每组选中一个,是的。他说他有n个复选框,这只选中了3个复选框。她有单选按钮,我看不到复选框,单选按钮有独占选择。在您的示例中,总数将是9,totalChecked最多可以是3。不可能3==9。
$('.yeschecked').hide();
$('input[type=radio]').change(function () {
if ($('input[type=radio]:checked').length == 3) {
$('.yeschecked').show();
$('.notchecked').hide();
} else {
$('.notchecked').show();
$('.yeschecked').hide();
}
});
$(document).ready(function(){
var total = totalChecked = 0;
$('input[type=radio]').on("change",function(){
totalChecked = $('input[type=radio]:checked').length;
if( totalChecked == 3 ){
$('.yeschecked').show();
$('. notchecked').hide();
} else {
$('. notchecked').show();
$('.yeschecked').hide();
}
})
});