…">
当前位置:首页 > 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
分享给朋友:

相关文章

vue实现select

vue实现select

Vue 实现 Select 组件的方法 在 Vue 中实现 Select 组件可以通过多种方式完成,以下是几种常见的方法: 使用原生 HTML select 元素 原生 HTML 的 <sel…

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

vue实现select

vue实现select

Vue 实现 Select 组件的方法 使用原生 HTML select 元素 在 Vue 中可以直接使用原生 HTML 的 <select> 元素,并通过 v-model 实现双向绑定。…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…