当前位置:首页 > JavaScript

js实现单选判断对错

2026-01-31 05:06:49JavaScript

实现单选判断对错的功能

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

HTML结构

创建一个包含单选按钮的表单,每个问题对应一组选项:

<div class="quiz-container">
  <div class="question">
    <p>1. JavaScript是一种什么类型的语言?</p>
    <label><input type="radio" name="q1" value="A"> A. 编译型</label>
    <label><input type="radio" name="q1" value="B"> B. 解释型</label>
    <label><input type="radio" name="q1" value="C"> C. 混合型</label>
  </div>

  <div class="question">
    <p>2. 以下哪个不是JavaScript的基本数据类型?</p>
    <label><input type="radio" name="q2" value="A"> A. String</label>
    <label><input type="radio" name="q2" value="B"> B. Number</label>
    <label><input type="radio" name="q2" value="C"> C. Array</label>
  </div>

  <button id="check-btn">检查答案</button>
  <div id="result"></div>
</div>

JavaScript逻辑

添加事件监听器,当用户点击检查按钮时验证答案:

document.getElementById('check-btn').addEventListener('click', function() {
  const answers = {
    q1: 'B', // 第一题的正确答案是B
    q2: 'C'  // 第二题的正确答案是C
  };

  let score = 0;
  const totalQuestions = Object.keys(answers).length;

  // 检查每道题的回答
  for (const question in answers) {
    const selectedOption = document.querySelector(`input[name="${question}"]:checked`);

    if (selectedOption && selectedOption.value === answers[question]) {
      score++;
      selectedOption.parentElement.style.color = 'green';
    } else if (selectedOption) {
      selectedOption.parentElement.style.color = 'red';
    }
  }

  // 显示结果
  const resultDiv = document.getElementById('result');
  resultDiv.innerHTML = `你答对了 ${score} 题,共 ${totalQuestions} 题`;
});

CSS样式(可选)

添加一些基本样式提升用户体验:

.quiz-container {
  max-width: 600px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
}

.question {
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

#check-btn {
  padding: 10px 20px;
  background-color: #4CAF50;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

#check-btn:hover {
  background-color: #45a049;
}

功能扩展

要实现即时反馈(不用点击检查按钮),可以修改为监听单选按钮的change事件:

js实现单选判断对错

document.querySelectorAll('input[type="radio"]').forEach(radio => {
  radio.addEventListener('change', function() {
    const questionName = this.name;
    const correctAnswer = answers[questionName];

    if (this.value === correctAnswer) {
      this.parentElement.style.color = 'green';
    } else {
      this.parentElement.style.color = 'red';
    }
  });
});

注意事项

  1. 确保每个问题的单选按钮组有相同的name属性
  2. 正确答案可以存储在对象、数组或从服务器获取
  3. 对于大型测验,考虑使用更结构化的数据存储方式
  4. 可以添加计时器、题目随机排序等增强功能

这个实现提供了基本的单选判断功能,可以根据需要进一步扩展和完善。

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

相关文章

vue如何实现单选

vue如何实现单选

使用原生 HTML 单选按钮 在 Vue 中可以直接使用 HTML 的原生单选按钮,通过 v-model 绑定数据。 <template> <div>…

vue实现图片单选

vue实现图片单选

Vue 实现图片单选功能 在 Vue 中实现图片单选功能可以通过多种方式完成,以下是两种常见的实现方法: 方法一:使用 v-model 和单选按钮 通过将单选按钮与图片绑定,利用 v-mod…

vue 实现图片单选

vue 实现图片单选

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

vue实现全选 单选

vue实现全选 单选

Vue实现全选与单选功能 在Vue中实现全选和单选功能通常涉及数据绑定、事件处理和计算属性的使用。以下是两种常见的实现方式: 基于数组的复选框实现 <template> <…

vue实现单选表格

vue实现单选表格

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

vue radio实现单选

vue radio实现单选

实现 Vue 单选按钮(Radio)的方法 使用原生 <input type="radio"> 通过 v-model 绑定数据实现单选功能,适合基础场景: <template>…