…">
当前位置:首页 > JavaScript

js实现select

2026-01-31 15:54:02JavaScript

实现基本的HTML下拉选择框

使用HTML的<select>元素可以创建基本的下拉选择框,JavaScript用于增强交互性。

<select id="mySelect">
  <option value="option1">选项1</option>
  <option value="option2">选项2</option>
  <option value="option3">选项3</option>
</select>

动态添加选项

通过JavaScript动态添加选项到select元素。

const select = document.getElementById('mySelect');
const newOption = document.createElement('option');
newOption.value = 'option4';
newOption.text = '选项4';
select.add(newOption);

获取选中值

使用JavaScript获取用户选择的选项值。

js实现select

const select = document.getElementById('mySelect');
select.addEventListener('change', function() {
  const selectedValue = this.value;
  console.log('选中的值:', selectedValue);
});

自定义样式下拉框

使用CSS和JavaScript创建自定义样式的下拉框。

<div class="custom-select">
  <div class="select-selected">选项1</div>
  <div class="select-items">
    <div>选项1</div>
    <div>选项2</div>
    <div>选项3</div>
  </div>
</div>
document.querySelectorAll('.custom-select .select-selected').forEach(select => {
  select.addEventListener('click', function() {
    this.nextElementSibling.classList.toggle('select-hide');
  });
});

document.querySelectorAll('.custom-select .select-items div').forEach(item => {
  item.addEventListener('click', function() {
    const selected = this.parentNode.previousElementSibling;
    selected.textContent = this.textContent;
    this.parentNode.classList.add('select-hide');
  });
});

使用第三方库实现高级选择框

考虑使用Select2等第三方库实现更丰富的功能。

js实现select

<select class="js-example-basic-single" style="width: 100%">
  <option value="AL">Alabama</option>
  <option value="WY">Wyoming</option>
</select>
$(document).ready(function() {
  $('.js-example-basic-single').select2();
});

多选下拉框实现

HTML5原生支持多选下拉框。

<select id="multiSelect" multiple>
  <option value="1">选项1</option>
  <option value="2">选项2</option>
  <option value="3">选项3</option>
</select>
const multiSelect = document.getElementById('multiSelect');
multiSelect.addEventListener('change', function() {
  const selectedOptions = [...this.selectedOptions].map(option => option.value);
  console.log('选中的多个值:', selectedOptions);
});

搜索过滤功能

为下拉框添加搜索过滤功能。

function filterFunction(inputId, selectId) {
  const input = document.getElementById(inputId);
  const filter = input.value.toUpperCase();
  const select = document.getElementById(selectId);
  const options = select.getElementsByTagName('option');

  for (let i = 0; i < options.length; i++) {
    const txtValue = options[i].textContent || options[i].innerText;
    if (txtValue.toUpperCase().indexOf(filter) > -1) {
      options[i].style.display = "";
    } else {
      options[i].style.display = "none";
    }
  }
}

标签: jsselect
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取 jQ…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…

js实现滑动

js实现滑动

实现滑动效果的方法 在JavaScript中实现滑动效果可以通过多种方式完成,以下是几种常见的实现方法: 使用CSS过渡和JavaScript触发 通过CSS定义过渡效果,JavaScript控制触…