当前位置:首页 > 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;
}

扩展功能

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

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);
});

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

js实现单选判断对错

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

相关文章

vue checbox实现单选

vue checbox实现单选

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

vue 点击实现单选

vue 点击实现单选

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

vue前端table实现单选

vue前端table实现单选

实现单选表格的基本思路 在Vue中实现表格的单选功能,可以通过绑定数据模型和事件处理来完成。核心是维护一个选中项的数据状态,并通过点击事件更新该状态。 基础实现方法 模板部分 <templa…

vue 实现单选和多选

vue 实现单选和多选

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

vue实现单选增加class

vue实现单选增加class

Vue 实现单选增加 class 在 Vue 中实现单选并动态添加 class,可以通过绑定 v-bind:class 和 v-on:click 来实现。以下是一个常见的实现方式: <tem…

vue如何实现单选功能

vue如何实现单选功能

实现单选功能的方法 在Vue中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用原生HTML的<input type="radio"> 通过绑定v-model到同一个变…