当前位置:首页 > JavaScript

js实现单选判断对错

2026-03-01 20:17:20JavaScript

实现单选判断对错的功能

在JavaScript中实现单选判断对错的功能,可以通过监听用户的选择并与正确答案比对来完成。以下是一个完整的实现示例:

HTML结构

创建一个包含单选按钮的表单,每个选项对应一个可能的答案。

<form id="quiz-form">
  <p>问题:JavaScript是一种什么类型的语言?</p>
  <label>
    <input type="radio" name="answer" value="A"> A. 编译型语言
  </label>
  <label>
    <input type="radio" name="answer" value="B"> B. 解释型语言
  </label>
  <label>
    <input type="radio" name="answer" value="C"> C. 混合型语言
  </label>
  <button type="submit">提交答案</button>
</form>
<div id="result"></div>

JavaScript逻辑

添加事件监听器,在用户提交时验证答案。

document.getElementById('quiz-form').addEventListener('submit', function(e) {
  e.preventDefault();
  const selectedAnswer = document.querySelector('input[name="answer"]:checked');
  const resultDiv = document.getElementById('result');

  if (!selectedAnswer) {
    resultDiv.textContent = '请选择一个答案';
    resultDiv.style.color = 'red';
    return;
  }

  const correctAnswer = 'B';
  if (selectedAnswer.value === correctAnswer) {
    resultDiv.textContent = '回答正确!';
    resultDiv.style.color = 'green';
  } else {
    resultDiv.textContent = '回答错误,正确答案是B';
    resultDiv.style.color = 'red';
  }
});

动态生成题目

如果需要动态生成题目,可以使用对象数组存储题目数据。

const questions = [
  {
    question: "JavaScript是一种什么类型的语言?",
    options: {
      A: "编译型语言",
      B: "解释型语言",
      C: "混合型语言"
    },
    answer: "B"
  }
];

function renderQuestion() {
  const quizForm = document.getElementById('quiz-form');
  const q = questions[0];

  let html = `<p>${q.question}</p>`;
  for (const [key, value] of Object.entries(q.options)) {
    html += `
      <label>
        <input type="radio" name="answer" value="${key}"> ${key}. ${value}
      </label>
    `;
  }
  html += '<button type="submit">提交答案</button>';
  quizForm.innerHTML = html;
}

renderQuestion();

添加样式

通过CSS改善用户界面体验。

#quiz-form {
  margin: 20px;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

label {
  display: block;
  margin: 10px 0;
}

button {
  margin-top: 15px;
  padding: 8px 16px;
  background-color: #4CAF50;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

#result {
  margin: 20px;
  font-weight: bold;
}

扩展功能

可以添加多个题目并实现题目切换功能。

js实现单选判断对错

let currentQuestion = 0;

function showNextQuestion() {
  currentQuestion++;
  if (currentQuestion < questions.length) {
    renderQuestion();
  } else {
    document.getElementById('quiz-form').innerHTML = '测验完成!';
  }
}

// 修改提交事件处理函数
document.getElementById('quiz-form').addEventListener('submit', function(e) {
  e.preventDefault();
  // ...原有的验证逻辑...

  // 添加延迟后显示下一题
  setTimeout(showNextQuestion, 1500);
});

这个实现提供了完整的单选判断功能,包括用户交互、答案验证和界面反馈。可以根据需要进一步扩展,如添加计时器、分数计算等功能。

标签: 对错单选
分享给朋友:

相关文章

vue实现单选按钮

vue实现单选按钮

实现单选按钮的基本方法 在Vue中实现单选按钮通常使用v-model指令绑定数据,结合input元素的type="radio"属性。以下是一个基础示例: <template> <…

vue 实现单选功能

vue 实现单选功能

实现单选功能的方法 在Vue中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用原生HTML单选按钮 通过v-model绑定数据,结合原生<input type="radio"&g…

vue 实现图片单选

vue 实现图片单选

Vue 实现图片单选功能 在 Vue 中实现图片单选功能,可以通过结合 v-model 和自定义事件来实现。以下是具体实现方法: 方法一:使用 v-model 和计算属性 创建一个 Vue 组件…

vue checbox实现单选

vue checbox实现单选

使用 v-model 和计算属性 在 Vue 中,可以通过 v-model 绑定一个计算属性来实现单选效果。计算属性用于动态控制复选框的选中状态。 <template> <di…

vue 点击实现单选

vue 点击实现单选

实现 Vue 单选点击功能 在 Vue 中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 方法一:使用 v-model 绑定 通过 v-model 绑定一个变量,配合 v-for 渲染选…

vue实现单选删除

vue实现单选删除

Vue 实现单选删除功能 在 Vue 中实现单选删除功能,通常涉及列表渲染、数据绑定和事件处理。以下是实现该功能的几种常见方法: 使用 v-for 和 v-model 实现单选删除 <te…