在 自定义文本 选择框内添加标签 jQuery serialselect

  • 源码大小:7.59KB
  • 所需积分:1积分
  • 源码编号:19JP-3621
  • 浏览次数:779次
  • 最后更新:2023年07月03日
  • 所属栏目:表单
本站默认解压密码:19jp.com 或 19jp_com

简介

有很多jQuery插件致力于改善用户体验,它们提供了很棒的功能,如上下文标签/标题、动态提示、非常好的过滤器和许多其他功能。但这些插件没有提供一件事:在<选择>标签

serialselect是一个非常小的jQuery插件,它只需在带有自定义文本的选择框中添加一个标签元素。因此,用户将可以快速访问有关他试图选择的项目的信息。

如何使用它:

1.下载并加载serialselect插件的文件。

  1. <link rel="stylesheet" href="/path/to/dist/jquery.serialselect.css" />
  2. <script src="/path/to/cdn/jquery.slim.min.js"></script>
  3. <script src="/path/to/dist/jquery.serialselect.js"></script>

2.将CSS类“sub-select”添加到选择元素,并在其中创建一个标签元素,CSS类为“sub-term”:

  1. <span class="js-serialselect">
  2. <label class="sub-term">Programming Language: </label>
  3. <select class="sub-select">
  4. <option>Python</option>
  5. <option>Java</option>
  6. <option>JavaScript</option>
  7. <option>Kotlin</option>
  8. <option>R</option>
  9. <option>PHP</option>
  10. <option>Go</option>
  11. <option>C</option>
  12. <option>Swift</option>
  13. <option>C#</option>
  14. <option>HTML5</option>
  15. <option>CSS/CSS3</option>
  16. <option>AngularJS</option>
  17. <option>ReactJS</option>
  18. <option>VueJS</option>
  19. </select>
  20. </span>

3.调用函数串行选择()在顶部容器上。就是这样。

  1. $(document).ready(function(){
  2. $('.js-serialselect').serialselect();
  3. });

4.覆盖默认的CSS选择器。

  1. $(document).ready(function(){
  2. $('.js-serialselect').serialselect({
  3. termClass: 'sub-term',
  4. valueClass: 'sub-value'
  5. });
  6. });

5.覆盖select和label元素的默认样式。

  1. .js-serialselect {
  2. display: block;
  3. position: relative;
  4. color: #000;
  5. font-size: 15px;
  6. }
  7.  
  8. .js-serialselect .sub-select {
  9. position: absolute;
  10. top: 0;
  11. left: 0;
  12. width: 100%;
  13. height: 100%;
  14. padding: 0;
  15. opacity: 0;
  16. cursor: pointer;
  17. }
  18.  
  19. .js-serialselect .sub-term {
  20. display: block;
  21. padding: 15px 20px;
  22. overflow: hidden;
  23. text-overflow: ellipsis;
  24. white-space: nowrap;
  25. background-color: #fff;
  26. border-radius: 3px;
  27. }
  28.  
  29. .js-serialselect .sub-term:before {
  30. content: '';
  31. position: absolute;
  32. top: 0;
  33. bottom: 0;
  34. right: 20px;
  35. width: 14px;
  36. background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z'/%3E%3C/svg%3E") 0 center no-repeat;
  37. }
  38.  
  39. .js-serialselect .sub-value {
  40. margin-left: 5px;
  41. font-weight: 600;
  42. }

预览截图