如何在无线电输入上添加事件侦听器
how to add eventListener on radio inputs
我有这段代码,它可以正常工作,但是在document.myform.onchange
的第一刻,我尝试了document.myform.elem.onclick
并且最后一个代码不想工作,只有当我把它放在表单上时,它才会首先出现,为什么会发生这种情况?
<form name="myform">
<input type="radio" name="car" value="audi">audi<br>
<input type="radio" name="car" value="bmw">bmw
<div id="text">some text is here</div>
</form>
function ready() {
var elem = document.getElementsByName("car");
var hid = document.getElementById("text");
var i;
document.myform.onchange = function() {
for (i = 0; i < elem.length; i++) {
if (elem[0].checked == true) {
hid.style.display = "none";
} else {
hid.style.display = "block";
}
}
}
}
document.addEventListener("DOMContentLoaded", ready);
- 通过
radio
按钮(循环)注册change
事件,而不是form
- 而不是处理
radio-input
的index
,检查选中单选按钮的值
function ready() {
var elem = document.getElementsByName("car");
var hid = document.getElementById("text");
for (var i = 0; i < elem.length; i++) {
elem[i].onchange = function() {
if (this.value === 'audi') {
hid.style.display = "none";
} else {
hid.style.display = "block";
}
}
}
}
document.addEventListener("DOMContentLoaded", ready);
<form name="myform">
<input type="radio" name="car" value="audi">audi
<br>
<input type="radio" name="car" value="bmw">bmw
<div id="text">some text is here</div>
</form>
嗨,
您可以从这些例子中得到启发,祝你好运
<form name="myForm">
<input type="radio" name="car" value="1" />
<input type="radio" name="car" value="2" />
</form>
<script>
var rad = document.myForm.car;
var prev = null;
for(var i = 0; i < rad.length; i++) {
rad[i].onclick = function() {
(prev)? console.log(prev.value):null;
if(this !== prev) {
prev = this;
}
console.log(this.value)
};
}
</script>
您可以将change
事件附加到无线电输入,如下所示:
function ready() {
var radioInputs = document.myform.car,
hid = document.getElementById("text");
for(var i = 0; i < radioInputs.length; i++){
radioInputs[i].onchange = function() {
hid.style.display = radioInputs[0].checked ? 'block' : 'none';
};
}
}
document.addEventListener("DOMContentLoaded", ready);
function ready() {
var radioInputs = document.myform.car,
hid = document.getElementById("text");
for(var i = 0; i < radioInputs.length; i++){
radioInputs[i].onchange = function() {
hid.style.display = radioInputs[0].checked ? 'block' : 'none';
};
}
}
document.addEventListener("DOMContentLoaded", ready);
<form name="myform">
<input type="radio" name="car" value="audi">audi<br>
<input type="radio" name="car" value="bmw">bmw
<div id="text">some text is here</div>
</form>
相关文章:
- 如何在for循环中添加事件侦听器
- 如果选中了多个复选框,如何添加事件
- 正在ng重复元素上添加事件
- 在动态创建的标记上添加事件
- 如何在HTML列表中添加事件's子弹
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- jQuery完整日历添加事件,仅包含月份和日期
- 是否可以在数字输入框中的小按钮中添加事件侦听器
- 在Google Chrome扩展中添加事件侦听器
- AngularJS:在.post()之后添加事件侦听器
- 对象 Javascript 中的标签无效 - 想要添加事件列表器
- 添加事件侦听器不起作用
- 如何为angular js条形图添加事件
- 在 http 请求中添加事件侦听器 ( request.on ) 是什么意思?而笏就是它的用途
- Iron:路由器在更改路由器上添加事件
- 如何为表行结果的每个按钮添加事件侦听器
- 在 javascript 中添加事件处理程序的位置
- YouTube API-动态添加事件侦听器
- 在聚合物的子菜单标题中添加事件
- 检查是否可以添加事件侦听器而不添加