HTML下拉搜索,select筛选搜索

叁歲伎倆 2023-10-06 18:16 82阅读 0赞

html5 自带搜索功能

  1. <input list="browsers" name="xzcid">
  2. <datalist id="browsers">
  3. <option value="1">张晓红</option>
  4. <option value="2">陈明</option>
  5. <option value="3">周瑜</option>
  6. </datalist>

jQuery实现下拉搜索

  • 点击输入框显示所有option
  • option选项可滚动,已隐藏滚动条
  • 输入框动态监听并筛选option

20210707182125307.png

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>下拉搜索</title>
  6. <script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
  7. <style>
  8. .iput {
  9. height: 25px;
  10. width: 200px;
  11. padding-left: 5px;
  12. }
  13. .iop {
  14. height: 25px;
  15. margin-left: 5px;
  16. }
  17. .iop:hover {
  18. background-color: #1E90FF;
  19. }
  20. .op-list {
  21. border: solid 1px #767676;
  22. width: 209px;
  23. height: 125px;
  24. overflow-y: auto;
  25. }
  26. ::-webkit-scrollbar {
  27. /*隐藏滚轮*/
  28. display: none;
  29. }
  30. .hidden {
  31. display: none;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div><input class="iput" placeholder="请点击或输入搜索字段..." onclick="showOption()" oninput="search(this.value)"
  37. onporpertychange="search(this.value)" onchange="search(this.value)"></div>
  38. <div class="op-list hidden">
  39. <div class="iop">--请选择--</div>
  40. <div class="iop">测试1</div>
  41. <div class="iop">测试2</div>
  42. <div class="iop">测试3</div>
  43. <div class="iop">测试4</div>
  44. <div class="iop">测试5</div>
  45. <div class="iop">测试6</div>
  46. <div class="iop">测试7</div>
  47. <div class="iop">测试8</div>
  48. <div class="iop">测试9</div>
  49. </div>
  50. <script>
  51. function showOption() {
  52. $('.op-list').toggleClass('hidden');
  53. $('.iop').show();
  54. }
  55. $(document).on('click', '.iop', function () {
  56. $('.op-list').addClass('hidden');
  57. var text = $(this).text();
  58. $('.iput').val(text);
  59. })
  60. function search(value) {
  61. $('.iop').show();
  62. $('.iop').each(function () {
  63. var text = $(this).text();
  64. if (text.indexOf(value) == -1) {
  65. $(this).hide();
  66. }
  67. });
  68. }
  69. $(document).click(function (e) {
  70. if ('iput' != e.target.className) {
  71. $('.op-list').addClass('hidden');
  72. }
  73. });
  74. </script>
  75. </body>
  76. </html>

发表评论

表情:
评论列表 (有 0 条评论,82人围观)

还没有评论,来说两句吧...

相关阅读