【问题标题】:Material design select with search带搜索的材料设计选择
【发布时间】:2018-07-30 00:35:30
【问题描述】:

我正在寻找某种带有搜索输入的选择。我用 materializecss 构建了我的页面,但是这个库不支持这种类型的选择。这是我需要的最好的例子 - https://material.angularjs.org/latest/demo/select#select-header。谁能帮帮我?

【问题讨论】:

    标签: jquery select material-design materialize


    【解决方案1】:

    您可以使用Select2 添加搜索功能,如this GitHub 问题中所述。您需要做的就是:

    1. 将 Select2 样式表和 javascript 文件(包括 jQuery)添加到您的页面。
    2. 添加额外的 CSS 使 Select2 看起来更像 materializecss。
    3. 运行 javascript 代码以在 select 元素上初始化 Select2。

    $('select').select2({width: "100%"});
    .select2 .selection .select2-selection--single, .select2-container--default .select2-search--dropdown .select2-search__field {
        border-width: 0 0 1px 0 !important;
        border-radius: 0 !important;
        height: 2.05rem;
    }
    
    .select2-container--default .select2-selection--multiple, .select2-container--default.select2-container--focus .select2-selection--multiple {
        border-width: 0 0 1px 0 !important;
        border-radius: 0 !important;
    }
    
    .select2-results__option {
        color: #26a69a;
        padding: 8px 16px;
        font-size: 16px;
    }
    
    .select2-container--default .select2-results__option--highlighted[aria-selected] {
        background-color: #eee !important;
        color: #26a69a !important;
    }
    
    .select2-container--default .select2-results__option[aria-selected=true] {
        background-color: #e1e1e1 !important;
    }
    
    .select2-dropdown {
        border: none !important;
        box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
    }
    
    .select2-container--default .select2-results__option[role=group] .select2-results__group {
        background-color: #333333;
        color: #fff;
    }
    
    .select2-container .select2-search--inline .select2-search__field {
        margin-top: 0 !important;
    }
    
    .select2-container .select2-search--inline .select2-search__field:focus {
        border-bottom: none !important;
        box-shadow: none !important;
    }
    
    .select2-container .select2-selection--multiple {
        min-height: 2.05rem !important;
    }
    
    .select2-container--default.select2-container--disabled .select2-selection--single {
        background-color: #ddd !important;
        color: rgba(0,0,0,0.26);
        border-bottom: 1px dotted rgba(0,0,0,0.26);
    }
    
    input[type=text],
    input[type=password],
    input[type=email],
    input[type=url],
    input[type=time],
    input[type=date],
    input[type=datetime-local],
    input[type=tel],
    input[type=number],
    input[type=search],
    textarea.materialize-textarea {
      &.valid + label::after,
      &.invalid + label::after,
      &:focus.valid + label::after,
      &:focus.invalid + label::after {
        white-space: pre;
      }
      &.empty {
        &:not(:focus).valid + label::after,
        &:not(:focus).invalid + label::after {
          top: 2.8rem;
    
        } 
      }
    }
    <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet"/>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-alpha.4/css/materialize.min.css" rel="stylesheet"/>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-alpha.4/js/materialize.min.js"></script>
    
    <div class="input-field col s12">
      <select>
        <option value="" disabled selected>Choose your option</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
      </select>
    </div>

    【讨论】:

    • 这个真的是我的救命稻草
    • 我如何处理变化?的价值?
    • 在 bootstrap modal 中遇到很多 select2 问题。不适合我
    猜你喜欢
    • 2021-08-12
    • 2017-10-26
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2020-09-20
    相关资源
    最近更新 更多