【问题标题】:select2 is not showing arrow down iconselect2 未显示向下箭头图标
【发布时间】:2018-03-03 22:50:47
【问题描述】:

我的 select2 运行良好,我只有 1 个小错误,选择框中的向下箭头图标没有显示,你们知道为什么吗?

这让用户有点困惑我试图找到错误,但我无法修复错误,请大家帮帮我吗?代码在这里不起作用,但在 jsfiddle 链接中起作用。

jsfiddle:http://jsfiddle.net/yszv1ob2/

$("#e1").select2();
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/select2/3.2/select2.min.js"></script>
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/select2/3.2/select2.css">

<select multiple id="e1" style="width:300px">
  <option value="AL">Alabama</option>
  <option value="Am">Amalapuram</option>
  <option value="An">Anakapalli</option>
  <option value="Ak">Akkayapalem</option>
  <option value="WY">Wyoming</option>
</select>

【问题讨论】:

    标签: javascript jquery css jquery-select2


    【解决方案1】:

    对于 Select2 版本 4.0.5+,此代码与单选箭头完全相同。

    .select2-selection--multiple:before {
        content: "";
        position: absolute;
        right: 7px;
        top: 42%;
        border-top: 5px solid #888;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
    }
    

    【讨论】:

    • 在最新版本中做到最好。
    • 谢谢!这很完美。如果您想在选择打开时添加一个倒置按钮,您可以添加: .select2-container--open .select2-selection--multiple:before {border-top:0;边框底部:5px 实心 #888; }
    【解决方案2】:

    您已经使用了多选下拉菜单并且使用了插件(Select2)不要在多选下拉菜单中添加下拉箭头。因此,如果要添加下拉箭头,则必须添加一些自定义 CSS,如下所示。

    ul.select2-choices {
        padding-right: 30px !important;
    }
    
    ul.select2-choices:after {
        content: "";
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        border-top: 5px solid #333;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
    }
    

    【讨论】:

    • 在版本 4+ 中,将 select2-choices 类替换为 select2-selection__rendered
    • @Ross 我已将 select2-choices 类更改为 select2-selection__rendered,但仍未显示可能出现的问题
    【解决方案3】:

    $(function () {
      $("#select1").select2();
    });
    .select2-container--default .select2-selection--multiple:before {
        content: ' ';
        display: block;
        position: absolute;
        border-color: #888 transparent transparent transparent;
        border-style: solid;
        border-width: 5px 4px 0 4px;
        height: 0;
        right: 6px;
        margin-left: -4px;
        margin-top: -2px;top: 50%;
        width: 0;cursor: pointer
    }
    
    .select2-container--open .select2-selection--multiple:before {
        content: ' ';
        display: block;
        position: absolute;
        border-color: transparent transparent #888 transparent;
        border-width: 0 4px 5px 4px;
        height: 0;
        right: 6px;
        margin-left: -4px;
        margin-top: -2px;top: 50%;
        width: 0;cursor: pointer
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
    
    <select multiple id="select1" style="width: 300px">
      <option value="AL">Alabama</option>
      <option value="Am">Amalapuram</option>
      <option value="An">Anakapalli</option>
      <option value="Ak">Akkayapalem</option>
      <option value="WY">Wyoming</option>
    </select>

    来源:https://github.com/select2/select2/issues/167#issuecomment-322461384

    【讨论】:

      【解决方案4】:

      基于Adam Love's answer,此代码使用 FontAwesome chevron down 图标(尽管您可以轻松地将其换成不同的图标):

      .select2-container--default .select2-selection--multiple {
          padding-right: 20px;
      }
      .select2-container--default .select2-selection--multiple::after {
          position: absolute;
          right: 5px;
          top: 42%;
          font-family: 'Font Awesome 5 Free';
          font-weight: 900;
          -webkit-font-smoothing: antialiased;
          display: inline-block;
          font-style: normal;
          font-variant: normal;
          text-rendering: auto;
          line-height: 1;
          content: "\f078";
          font-size: 0.7rem;
      }
      

      【讨论】:

        【解决方案5】:

        $("#e1").select2();
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/select2/3.2/select2.min.js"></script>
        <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/select2/3.2/select2.css">
        
        <select multiple id="e1" style="width:300px">
          <option value="AL">Alabama</option>
          <option value="Am">Amalapuram</option>
          <option value="An">Anakapalli</option>
          <option value="Ak">Akkayapalem</option>
          <option value="WY">Wyoming</option>
        </select>

        【讨论】:

        • select { background: url(../img/arrow.png) no-repeat right center;外观:无; -moz 外观:无; -webkit 外观:无;宽度:90px;文本缩进:0.01px;文本溢出:“”; }
        【解决方案6】:

        您可以添加此 css 代码,它将应用于选择范围

        .select2-selection__arrow {
          height: 26px;
          position: absolute;
          top: 10px;
          right: 7px;
          width: 20px;
        }
        .select2-selection__arrow b{
            border-color: #009688 transparent transparent transparent;
            border-style: solid;
            border-width: 5px 4px 0 4px;
            height: 0;
            left: 50%;
            margin-left: -4px;
            margin-top: -2px;
            position: absolute;
            top: 50%;
            width: 0;
          }
        

        【讨论】:

          猜你喜欢
          • 2011-04-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-09
          相关资源
          最近更新 更多