JS写一个在单选选择否的情况下无法对后续的题目选项进行选择,选是的话则恢复
时间: 2024-09-12 19:11:10 浏览: 30
题库:选择选项,切换至下一题
在JavaScript中,可以通过监听单选按钮的事件来实现这样的功能。首先,你需要为单选按钮添加一个事件监听器,当用户选择一个选项时触发一个函数。在该函数中,你可以检查用户选择的是哪一个选项,并根据这个选择来启用或禁用后续题目的选项。
以下是一个简单的示例代码,展示了如何实现这个功能:
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>单选按钮控制示例</title>
<script>
function toggleQuestions(event) {
var answer = event.target.value; // 获取用户选择的答案
var nextQuestions = document.querySelectorAll('.question:not(.first)');
nextQuestions.forEach(function(question) {
question.disabled = (answer === 'no'); // 如果答案是"否",则禁用后续问题
});
}
</script>
</head>
<body>
<form id="questionnaire">
<div class="question first">
<input type="radio" id="yes" name="answer" value="yes">
<label for="yes">是</label>
<input type="radio" id="no" name="answer" value="no">
<label for="no">否</label>
</div>
<div class="question">
<label>问题1</label>
<input type="text" disabled>
</div>
<div class="question">
<label>问题2</label>
<input type="text" disabled>
</div>
<!-- 更多问题... -->
<input type="button" value="提交" onclick="submitForm()">
</form>
<script>
document.getElementById('questionnaire').onchange = toggleQuestions; // 为单选按钮添加事件监听器
</script>
</body>
</html>
```
在这个示例中,`.first` 类用于标识第一个问题,后续的问题使用 `.question:not(.first)` 来选择。当单选按钮的值是 "no" 时,后续所有问题的输入框都会被禁用,因为它们的 `disabled` 属性被设置为 `true`。如果用户选择 "是",则后续问题的输入框会被启用,因为它们的 `disabled` 属性被设置为 `false`。
阅读全文