当前位置:首页 > JavaScript

js实现单选

2026-02-01 01:35:39JavaScript

实现单选功能的JavaScript方法

使用HTML和JavaScript实现单选功能可以通过多种方式完成,以下是几种常见的方法:

HTML结构示例

<div class="radio-group">
  <input type="radio" name="option" id="option1" value="1">
  <label for="option1">选项1</label>

  <input type="radio" name="option" id="option2" value="2">
  <label for="option2">选项2</label>

  <input type="radio" name="option" id="option3" value="3">
  <label for="option3">选项3</label>
</div>

纯JavaScript实现

监听change事件

const radios = document.querySelectorAll('input[name="option"]');
radios.forEach(radio => {
  radio.addEventListener('change', function() {
    if(this.checked) {
      console.log('选中的值:', this.value);
    }
  });
});

获取选中值

function getSelectedValue() {
  const selected = document.querySelector('input[name="option"]:checked');
  return selected ? selected.value : null;
}

使用事件委托优化

对于大量单选按钮,可以使用事件委托:

document.querySelector('.radio-group').addEventListener('change', function(e) {
  if(e.target.type === 'radio') {
    console.log('选中的值:', e.target.value);
  }
});

动态设置选中状态

function setSelectedValue(value) {
  const radio = document.querySelector(`input[name="option"][value="${value}"]`);
  if(radio) {
    radio.checked = true;
  }
}

使用classList管理样式

为选中的单选按钮添加样式类:

js实现单选

document.querySelectorAll('input[name="option"]').forEach(radio => {
  radio.addEventListener('change', function() {
    document.querySelectorAll('input[name="option"]').forEach(r => {
      r.nextElementSibling.classList.remove('selected');
    });
    if(this.checked) {
      this.nextElementSibling.classList.add('selected');
    }
  });
});

注意事项

  • 确保所有单选按钮的name属性相同,这样浏览器会自动处理单选逻辑
  • 使用label元素可以提高用户体验,点击文本也能选中单选按钮
  • 考虑添加默认选中项:<input type="radio" checked>
  • 移动端开发可能需要调整样式以适应触摸操作

这些方法可以根据具体需求组合使用,实现灵活的单选功能。

标签: 单选js
分享给朋友:

相关文章

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

vue实现单选按钮

vue实现单选按钮

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

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js实现删除

js实现删除

使用 splice 方法删除数组元素 splice 方法可以删除数组中的元素,并返回被删除的元素。它接受两个参数:起始索引和要删除的元素数量。 const array = [1, 2, 3, 4…

js 实现截图

js 实现截图

使用html2canvas库实现截图 html2canvas是一个流行的JavaScript库,可将HTML元素转换为Canvas,进而导出为图片。 安装库: npm instal…