[英]Function that hides a label depending on radio button
I'm trying to get a function working that hides a label in the form depending on the radio button option selected.我正在尝试让 function 工作,它根据所选的单选按钮选项在表单中隐藏 label。 Here's my code so far.
到目前为止,这是我的代码。
HTML
HTML
<form action="">
<input type="radio" id="test" value="first"> first<br>
<input type="radio" id="test" value="second"> second<br>
<input type="radio" id="test" value="third"> third
</form>
<label class="hidden">Hide this</label>
Javascript
Javascript
var rbtn = document.getElementById("test");
var x = document.getElementsByClassName("hidden");
function hidelabel() {
if (rbtn == 'third') {
x.style.display='none';
}
}
You must fire your hide function after radio button clicked like this:在单击单选按钮后,您必须触发隐藏 function,如下所示:
document.mainForm.onclick = function(){
var radVal = document.mainForm.rads.value;
if (radVal == 'third') {
document.getElementsByClassName("hidden")[0].style.display = 'none';
}
}
ps: document.getElementsByClassName
returns an array. ps:
document.getElementsByClassName
返回一个数组。 So you cannot use x.style.display='none';
所以你不能使用
x.style.display='none';
. .
Working example: https://jsfiddle.net/5ts0dak4/工作示例: https://jsfiddle.net/5ts0dak4/
First name the radio button ID's with something decent:首先用一些体面的东西命名单选按钮 ID:
<form action="">
<input type="radio" id="first" value="first"> first<br>
<input type="radio" id="second" value="second"> second<br>
<input type="radio" id="third" onclick="hide();" value="third"> third
</form>
<label class="hidden" id="hidden">Hide this</label>
Then try this:然后试试这个:
function hide(){
var x = document.getElementById('hidden');
if(document.getElementById('third').checked) {
x.style.display='none';
}
}
You can test it here https://jsfiddle.net/o54mzrk5/你可以在这里测试它https://jsfiddle.net/o54mzrk5/
Try this one.试试这个。
CSS: CSS:
<style type="text/css">
.hidden{ display:none; }
</style>
HTML: HTML:
<form action="">
<input type="radio" name="test" value="first" onclick="func(this, true);"> first<br>
<input type="radio" name="test" value="second" onclick="func(this, true);"> second<br>
<input type="radio" name="test" value="third" onclick="func(this, false);"> third
</form>
<label class="hidden">Hide this</label>
Script:脚本:
<script type="text/javascript">
func = function(ctrl, visible) {
if(visible)
document.getElementsByClassName("hidden")[0].style.display='block';
else
document.getElementsByClassName("hidden")[0].style.display='none';
};
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.