元素来创建单选按钮,并通过CSS和JavaScript来控制其样式和行为。当用户选择一个选项时,其他选项会自动取消选择,这是由浏览器自动处理的。我们可以通过监听
change`事件来执行自定义的JavaScript代码,例如更新UI或发送AJAX请求。我们还可以使用JavaScript框架(如React、Vue等)来简化单选效果的实现。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF8"> <meta name="viewport" content="width=devicewidth, initialscale=1.0"> <title>单选按钮效果</title> </head> <body> <form> <label> <input type="radio" name="gender" value="male"> 男 </label> <label> <input type="radio" name="gender" value="female"> 女 </label> </form> <script src="main.js"></script> </body> </html>
/* main.css */ body { fontfamily: Arial, sansserif; } label { display: inlineblock; marginright: 20px; } input[type="radio"] { marginright: 5px; }
// main.js document.querySelectorAll('input[type="radio"]').forEach(function (radio) { radio.addEventListener('change', function () { if (this.checked) { alert('您选择了' + this.value); } }); });
问题1:如何实现单选按钮的互斥效果?
答:在HTML中,为单选按钮添加相同的name
属性,即可实现互斥效果,如上述代码中的<input type="radio" name="gender" value="male">
和<input type="radio" name="gender" value="female">
,它们具有相同的name
属性,因此只能选择一个。
问题2:如何在选中单选按钮时触发事件?
答:在JavaScript中,可以使用addEventListener
方法为单选按钮添加事件监听器,如上述代码中的radio.addEventListener('change', function () {...})
,当单选按钮的状态发生变化时,会触发这个事件,在这个事件处理函数中,可以通过this.checked
判断当前单选按钮是否被选中,从而实现相应的功能。