可输入搜索查找自动过滤的下拉列表

可输入搜索查找自动过滤的下拉列表

添加时间:2021-02-26 09:19:07
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:下拉导航
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款相当实用的带输入搜索并自定过滤功能的下拉列表,点击输入框时下面会出现设定好的选择项,点击选择任意一个都会自动修改输入框的值,鼠标在输入框外点击时,自动隐藏下拉列表选项,输入内容时自动匹配并列出相关选项,细节功能请参考演示效果。
可输入搜索查找自动过滤的下拉列表
分类:导航菜单 > 下拉导航 难易:初级

头部仅需引入一个CSS样式即可,没有调用任何jquery库:

<link type="text/css" rel="stylesheet" href="css/style.css">

body部分主要是通过ul和li元素来实现列表的功能(当然,你也可以读取数据库生成列表),通过对ul进行样式增加和删除来控制列表的显示和隐藏:

<h1>可<span>输入搜索查找自动过滤</span>的下拉列表</h1>
  <form>
    <input class="chosen-value" type="text" value="" placeholder="输入内容自动过滤">
    <ul class="value-list">
      <li>阿里巴巴</li>
      <li>......</li>
      <li>滴滴出行</li>
    </ul>
  </form>

底部是纯JS写的,通过不同的选择器绑定了多个事件:click、focus、blur等,部分代码如下:

inputField.addEventListener('input', function () {
  dropdown.classList.add('open');
  var inputValue = inputField.value.toLowerCase();
  var valueSubstring = undefined;
  if (inputValue.length > 0) {
    for (var j = 0; j < valueArray.length; ++j) {
      if (valueArray[j].indexOf(inputValue) < 0) {
        dropdownItems[j].classList.add('closed');
      } else {
        dropdownItems[j].classList.remove('closed');
      }
      var closedNum = document.querySelectorAll('.closed').length;
    }
    if (closedNum == dropdownItems.length) {
      dropdown.classList.remove('open');
    }
  } else {
    for (var i = 0; i < dropdownItems.length; ++i) {
      dropdownItems[i].classList.remove('closed');
    }
  }
});

大家可以试着修改成以下的效果:

相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:可输入搜索查找自动过滤的下拉列表

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.099531s