JavaScript中的单选按钮(Radio Button)通常用于在一组选项中选择一个。这些按钮通过相同的name
属性分组,确保在同一时间只能选中其中一个。
以下是一个简单的HTML和JavaScript结合的单选按钮示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Radio Button Example</title>
</head>
<body>
<form id="myForm">
<input type="radio" id="option1" name="group1" value="Option 1">
<label for="option1">Option 1</label><br>
<input type="radio" id="option2" name="group1" value="Option 2">
<label for="option2">Option 2</label><br>
<input type="radio" id="option3" name="group1" value="Option 3">
<label for="option3">Option 3</label><br>
</form>
<script>
document.getElementById('myForm').addEventListener('change', function(event) {
if (event.target.name === 'group1') {
console.log('Selected:', event.target.value);
}
});
</script>
</body>
</html>
原因:所有单选按钮的name
属性不一致,导致它们不在同一组。
解决方法:确保所有需要分组的单选按钮具有相同的name
属性。
<input type="radio" id="option1" name="group1" value="Option 1">
<input type="radio" id="option2" name="group1" value="Option 2">
<input type="radio" id="option3" name="group1" value="Option 3">
解决方法:使用JavaScript动态创建并插入到DOM中。
const container = document.getElementById('container');
const options = ['Option 1', 'Option 2', 'Option 3'];
options.forEach(option => {
const radioBtn = document.createElement('input');
radioBtn.type = 'radio';
radioBtn.name = 'group1';
radioBtn.value = option;
const label = document.createElement('label');
label.htmlFor = option;
label.textContent = option;
container.appendChild(radioBtn);
container.appendChild(label);
container.appendChild(document.createElement('br'));
});
通过以上内容,你应该对JavaScript中的单选按钮分组有了全面的了解,并能够解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云