当前位置:首页 > JavaScript

js实现单选判断对错

2026-04-04 21:03:39JavaScript

实现单选判断对错功能

在JavaScript中实现单选判断对错功能,可以通过监听用户选择并比对正确答案来完成。以下是具体实现方法:

创建HTML结构

<div class="quiz-container">
  <h3>问题:JavaScript是一种静态类型语言吗?</h3>
  <div class="options">
    <label>
      <input type="radio" name="answer" value="true"> 正确
    </label>
    <label>
      <input type="radio" name="answer" value="false"> 错误
    </label>
  </div>
  <button id="submit">提交答案</button>
  <div id="result"></div>
</div>

添加JavaScript逻辑

document.getElementById('submit').addEventListener('click', function() {
  const selectedOption = document.querySelector('input[name="answer"]:checked');
  const resultDiv = document.getElementById('result');

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

  const userAnswer = selectedOption.value;
  const correctAnswer = 'false'; // 正确答案

  if (userAnswer === correctAnswer) {
    resultDiv.textContent = '回答正确!';
    resultDiv.style.color = 'green';
  } else {
    resultDiv.textContent = '回答错误!';
    resultDiv.style.color = 'red';
  }
});

动态生成题目

如果需要动态生成多个题目,可以使用以下方法:

const questions = [
  {
    question: "JavaScript是一种静态类型语言吗?",
    options: ["正确", "错误"],
    answer: "false"
  },
  {
    question: "JavaScript运行在客户端吗?",
    options: ["正确", "错误"],
    answer: "true"
  }
];

function renderQuiz(questions) {
  const quizContainer = document.querySelector('.quiz-container');

  questions.forEach((q, index) => {
    const questionDiv = document.createElement('div');
    questionDiv.className = 'question';
    questionDiv.innerHTML = `
      <h3>问题${index + 1}: ${q.question}</h3>
      <div class="options">
        ${q.options.map((opt, i) => `
          <label>
            <input type="radio" name="answer-${index}" value="${i === 0 ? 'true' : 'false'}">
            ${opt}
          </label>
        `).join('')}
      </div>
    `;
    quizContainer.appendChild(questionDiv);
  });
}

renderQuiz(questions);

添加即时反馈

可以修改为选择后立即判断,而不需要提交按钮:

document.querySelectorAll('input[type="radio"]').forEach(radio => {
  radio.addEventListener('change', function() {
    const questionDiv = this.closest('.question');
    const resultDiv = questionDiv.querySelector('.result') || document.createElement('div');
    resultDiv.className = 'result';
    questionDiv.appendChild(resultDiv);

    const correctAnswer = this.value === 'true' ? '正确' : '错误';
    resultDiv.textContent = `正确答案是:${correctAnswer}`;
    resultDiv.style.color = this.checked ? (this.value === 'true' ? 'green' : 'red') : 'inherit';
  });
});

样式优化

添加CSS使界面更友好:

js实现单选判断对错

.quiz-container {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

.options {
  margin: 15px 0;
}

label {
  display: block;
  margin: 5px 0;
  cursor: pointer;
}

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

button:hover {
  background-color: #45a049;
}

这些方法提供了单选判断对错功能的基本实现,可以根据实际需求进行调整和扩展。

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

相关文章

vue实现单选

vue实现单选

Vue 实现单选按钮 在 Vue 中实现单选按钮通常使用 v-model 绑定数据,结合 <input type="radio"> 或第三方组件库(如 Element UI、Ant Des…

vue实现单选多选

vue实现单选多选

Vue 实现单选功能 使用 v-model 绑定单选按钮的值,确保同一组单选按钮的 name 属性相同。 <template> <div> <label&g…

vue实现单选表格

vue实现单选表格

实现单选表格的基本思路 在Vue中实现单选表格通常需要结合<table>元素和Vue的数据绑定特性。通过v-model或自定义事件管理选中状态,确保同一时间仅有一行被选中。 使用v-mo…

vue 点击实现单选

vue 点击实现单选

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

vue单选按钮的实现

vue单选按钮的实现

Vue 单选按钮的实现方法 在 Vue 中实现单选按钮可以通过 v-model 绑定数据,结合原生 <input type="radio"> 或第三方组件库完成。以下是具体实现方式: 使…

vue 实现单选和多选

vue 实现单选和多选

Vue 实现单选 在 Vue 中实现单选功能,通常使用 v-model 绑定到同一个变量,确保同一时间只有一个选项被选中。 <template> <div> &l…