【问题标题】:Change multiple select to a single select dropdown将多选更改为单选下拉菜单
【发布时间】:2018-09-16 18:19:24
【问题描述】:

我遇到了多选问题。唯一可行的方法是使用多项选择,但我需要将其转换为单个下拉选择,因为这种方式是设计。

问题是:如何在单选中转换多选?我添加一个截图:

  • 我有这样的:

设计应该是这样的:

是否可以在不删除multiple="multiple" 属性的情况下使用 html 或 css 对其进行转换?

我的标签: <select multiple="multiple" class="destination_s input input--select"></select>

问候

【问题讨论】:

  • 您想在一个下拉列表中进行选择,然后过滤第二个下拉列表中的选项吗?数据映射是否使得每个目的地都有多个属性?
  • 所以你想让它看起来像一个单选,但表现得像一个多选?
  • @Ghostrydr 就是这样
  • 你需要一个库/插件来做到这一点。
  • 也许可以用Select2插件来完成。

标签: javascript php jquery html css


【解决方案1】:

我明白你的意思,但仅借助 HTML/CSS 是不可能的。 在某些时候你需要 JS 或 jQuery。

请参考下面的插件,这可能会帮助您解决问题。 http://wenzhixin.net.cn/p/multiple-select/docs/ https://www.jqueryscript.net/form/jQuery-Plugin-For-Multiple-Select-With-Checkboxes-multi-select-js.html

您也可以使用 Chosen、Select2 插件。

【讨论】:

    【解决方案2】:

    我看到的唯一方法是对一个看起来像 HTML 选择的 div 进行样式化,并使用 JavaScript 显示和隐藏选择多个。这是我刚刚制作的一个简单示例(也许代码可以更好):

    function showSelect(classname) {
                document.getElementById('sel').className = classname;
            }
    .hidden {
                display: none;
            }
    
            .visible {
                display: block;
            }
    
            .div {
                border: 1px solid black;
                width: 100px;
            }
    
            #sel {
                width: 100%;
            }
    
            .arrow {
                float: right;
            }
    <div class="div" onmouseover="showSelect('visible')" onmouseout="showSelect('hidden')">
             Choose... <span class="arrow">&#9660;</span>
    
            <select multiple="multiple" class="hidden" id="sel">
                <option value="">1</option>
                <option value="">2</option>
                <option value="">3</option>
                <option value="">4</option>
                <option value="">5</option>
                <option value="">6</option>
                <option value="">7</option>
                <option value="">8</option>
                <option value="">9</option>
                <option value="">10</option>
            </select>
        </div>

    还可以考虑使用像 Chosen 这样的框架来简化它。

    【讨论】:

    • @JeanManzo 如果我的回答对您有帮助,我将不胜感激您将其标记为答案:)
    猜你喜欢
    • 2013-11-24
    • 2017-11-17
    • 2012-10-29
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    相关资源
    最近更新 更多