Javascript 获取单选按钮值onload和hide或show div
我有以下JSFIDLE设置: 根据收音机选择,将隐藏或显示div(如果选择了audi,则将隐藏div,如果选择了任何其他值,则将显示div)。我的问题是,我需要检测单选按钮的初始值(onload),并相应地隐藏或显示divJavascript 获取单选按钮值onload和hide或show div,javascript,html,radio,Javascript,Html,Radio,我有以下JSFIDLE设置: 根据收音机选择,将隐藏或显示div(如果选择了audi,则将隐藏div,如果选择了任何其他值,则将显示div)。我的问题是,我需要检测单选按钮的初始值(onload),并相应地隐藏或显示div Audi <input type="radio" name="car" id="audi" value="3" checked="checked" onclick="toggle(this)"> <br /> Merc <input type=
Audi <input type="radio" name="car" id="audi" value="3" checked="checked" onclick="toggle(this)">
<br />
Merc <input type="radio" name="car" id="merc" value="3" onclick="toggle(this)">
<br />
BMW <input type="radio" name="car" id="bmw" value="3" onclick="toggle(this)">
<br /><br />
<div id="testdiv">
Not Audi
</div>
var t = document.getElementById('testdiv');
t.style.visibility = 'visible';
function toggle(switchElement) {
if (switchElement.id != 'audi'){
t.style.display = 'inline';
}else{
t.style.display = 'none';
}
}
奥迪
美塞苔丝
宝马
不是奥迪 var t=document.getElementById('testdiv'); t、 style.visibility='visible'; 功能切换(开关元件){ 如果(switchElement.id!=“奥迪”){ t、 style.display='inline'; }否则{ t、 style.display='none'; } } 提前谢谢你的帮助 没有jquery,请只使用纯js解决方案
[].forEach.call( document.forms.carform.car, function(radio){
if( radio.checked ) {
toggle( radio );
}
});
从您的示例中,注意到我将活动值移动到了Merc,还注意到您应该在初始化testdiv时在其上设置display:none:
Audi <input type="radio" name="car" id="audi" value="3" onclick="toggle(this)">
<br />
Merc <input type="radio" name="car" id="merc" value="3" checked="checked" onclick="toggle(this)">
<br />
BMW <input type="radio" name="car" id="bmw" value="3" onclick="toggle(this)">
<br /><br />
<div id="testdiv" style="display:none;">
Not Audi
</div>
感谢您的帮助,我决定改用@Esailija解决方案,因为构建一系列id只是额外的开销,因为汽车品牌不是固定的,而且会有所不同。但我们非常赞赏并将铭记这一解决方案:)
var t = document.getElementById('testdiv');
t.style.visibility = 'visible';
function toggle(switchElement) {
if (switchElement.id != 'audi') {
t.style.display = 'inline';
}else{
t.style.display = 'none';
}
}
var listOfIds = new Array("audi", "merc", "bmw");
for (x in listOfIds) {
var element = document.getElementById(listOfIds[x]);
if (element.checked) {
toggle(element);
}
}