jquery-select2 相关问题

Select2是基于jQuery的选择框的替代品。它支持搜索,远程数据集和无限滚动结果。

在后台加载ajax select2数据的页面

我有一个AJAX select2下拉菜单设置为无限分页。我想做的是继续在后台加载第一页结果,以便用户点击drop -...

回答 2 投票 0

选择2不加载数据

我最近升级到Rails 5.2和ruby 2.5.1,我的选择框停止工作。我必须在admin.js中更改requiere文件,并添加完整版本甚至查看选择框// = require ...

回答 1 投票 3

select2 MULTIPLE 占位符不起作用

我正在使用以下代码来选择项目,但占位符已经不可见。我正在使用这个例子 select2-bootstrap 我正在使用以下代码来选择项目,但占位符已经不可见。我正在使用这个例子select2-bootstrap <div class="form-group" style="width:70px; height:44px;"> <select class="form-control select2" multiple="multiple" id="select2" placeholder="cawky parky"> <option>ahoj</option> <option>more</option> <option>ideme</option> <option>na </option> <option>pivo?</option> </select> </div> <script src="//select2.github.io/select2/select2-3.4.2/select2.js"></script> $(document).ready(function () { $("#select2").select2({ multiple:true, placeholder: "haha", }); 2020解决方案 这里的大问题是您选择的第一个选项 + 您的占位符太大而无法放入下拉列表中。因此,select2 将强制占位符为 width:0;. 这可以通过以下两行 CSS 来解决,这将覆盖此 select2“功能”: .select2-search--inline { display: contents; /*this will make the container disappear, making the child the one who sets the width of the element*/ } .select2-search__field:placeholder-shown { width: 100% !important; /*makes the placeholder to be 100% of the width while there are no options selected*/ } 注意:placeholder-shown 伪类在某些浏览器的最旧版本以及 IE 上不起作用,因为您可以在here. 经过数小时的尝试,我注意到最初呈现选择时,.select2-search__field 的宽度为 0px。当我选择一个选项然后删除该选项时,显示占位符并且宽度约为 1000px。 所以为了解决这个问题,我做了以下事情: $('.search-select-multiple').select2({ dropdownAutoWidth: true, multiple: true, width: '100%', height: '30px', placeholder: "Select", allowClear: true }); $('.select2-search__field').css('width', '100%'); 在您的脚本文件中添加: $('select').select2({ minimumResultsForSearch: -1, placeholder: function(){ $(this).data('placeholder'); } }): 在 HTML 中添加: <select data-placeholder="Yours Placeholder" multiple> <option>Value 1</option> <option>Value 2</option> <option>Value 3</option> <option>Value 4</option> <option>Value 5</option> </select> 只需使用数据占位符而不是占位符。 <div class="form-group" style="width:70px; height:44px;"> <select class="form-control select2" multiple="multiple" id="select2" data-placeholder="cawky parky"> <option>ahoj</option> <option>more</option> <option>ideme</option> <option>na </option> <option>pivo?</option> </select> </div> 对我来说,占位符似乎需要allowClear: true和对象模式。尝试以下操作,看看它是否有效。有关使用 yadcf 的一般示例,请参见https://codepen.io/louking/pen/BGMvRP?#(抱歉,额外的复杂性,但我相信 yadcf 将 select_type_options 直接传递给 select2)。 $("#select2").select2({ multiple:true, allowClear:true, placeholder: { id: -1 text: "haha" } }); 在你的脚本文件中: $("select").each(function(i,v){ var that = $(this); var placeholder = $(that).attr("data-placeholder"); $(that).select2({ placeholder:placeholder }); }); 在您的 html 中(添加数据占位符 =“您的文本”): <select data-placeholder="Yours Placeholder" multiple> <option>Value A</option> <option>Value B</option> </select> 这是 select2 GitHub 上的 已解决问题 但它从未在库本身中真正解决过。 我的解决方案类似于 Pedro Figueiredo 提出的 solution,除了它不会使容器消失。有一个关于display: contents的note,这可能会导致一些可访问性问题。您也可以简单地将其切换为 100% 宽度: .select2-search--inline, .select2-search__field:placeholder-shown { width: 100% !important; } 我更喜欢并发现基于 .select2-container 设置样式稍微更简洁,这样我就可以调用标准的 HTML 元素,如下所示: .select2-container li:only-child, .select2-container input:placeholder-shown { width: 100% !important; } 任何一组代码都以任何一种方式访问相同的元素,我不确定哪一个更“未来证明”;现在这是一个偏好问题。 此外,如果您使用的是标签,则可能需要添加一个 .select2-container { width: 100% !important; } 否则在切换到默认情况下不显示的选项卡时,select2 字段的宽度可能不正确。 在你的 html 中 <select class="form-control select2" multiple="multiple" id="select2"> <option selected="selected">cawky parky</option> <option>ahoj</option> <option>more</option> <option>ideme</option> <option>na </option> <option>pivo?</option> </select> 在你的 jquery 中 $(".select2").select2({ placeholder: "Selecione", allowClear: true }); 我找到了另一种方法,当我将 select2 附加到 dom 时 $('.select2-search__field').width('100%') 用它改变宽度样式 $('.select2-search__field').width('100%') function setSelect(select, data, placeholder) { select.each(function () { let $this = $(this) $this.wrap('<div class="position-relative"></div>') $this.select2({ placeholder, allowClear: true, dropdownParent: $this.parent(), dropdownAutoWidth: true, data }) }) $('.select2-search__field').width('100%') } 选择2/3.5.4 在你的 CSS 中: .select2-search-field, .select2-search-field input[placeholder] { width: 100% !important; } Select2 4.0.1 仍然不适用于我的多项选择。 我的解决方案 HTML <select class="select-2" multiple> ... </select> JS $('.select-2').select2({ minimumResultsForSearch: -1, placeholder: function(){ $(this).data('placeholder'); } }); $('.select-2[multiple]').each(function() { $(this).next('.select2').find('textarea').attr('placeholder', $(this).data('placeholder')); }); $('.select2-search__field').css('width', '100%'); 试试这个代码 在你的javascript中 $('.select2-search__field').addClass('w-100') 或 $('.select2-search__field').css('width', '100%') 占位符标签不是选择列表的有效属性 你可以使用这样的东西: <select class="form-control select2" multiple="multiple" id="select2"> <option selected="selected">cawky parky</option> <option>ahoj</option> <option>more</option> <option>ideme</option> <option>na </option> <option>pivo?</option> </select> 然后编写适当的 jquery 在你的select2-Bootstrap例子中是完全不同的结构 我在引导选项卡中有一些 select2 输入。 对我有用的解决方案: .select2-search--inline { display: contents; /*this will make the container disappear, making the child the one who sets the width of the element*/ } .select2-search__field:placeholder-shown { width: 100% !important; /*makes the placeholder to be 100% of the width while there are no options selected*/ }

回答 14 投票 0

克隆的Select2没有响应

我正在尝试克隆包含select2工具的行,当我使用jQuery克隆该行时,克隆的select2没有响应。在下面给出的图像中,首先是原始的select2工作正常但是...

回答 11 投票 34

Select2插件和508合规性

问题Select2控件引入了508个问题,如Chrome的Axe插件所示。如何使Select2 508兼容?我的理解是有一个名为SelectWoo的项目......

回答 1 投票 0

Select2在通话时使用动态Ajax URL

我使用带有Ajax的Select2插件(v 3.5.2)来动态加载列表中的元素。我在Select2的初始化(在ajax帮助器中设置了url属性)之间存在问题...

回答 2 投票 11

如何在select2下拉列表中添加禁用所选选项?

说明:我正在使用Select2进行下拉,我正在尝试禁用列表中的选定选项。我写了下面给出的代码,但它没有用。这段代码有什么错误吗?代码:$(“#...

回答 2 投票 1

Vue组件$发射两次

我最近试图在一些真实世界的应用程序中重用我的Vue组件,以删除不必要的重复和杂乱与 。但我这样做有困难。几个小时后我......

回答 3 投票 0

Select2结果位置不正确

正常下拉结果在正确位置打开。但最大选择消息未正确定位。

回答 1 投票 0

是否可以禁用选择2的键输入开启(v 4.0.3)

是否可以禁用选择2(v 4.0.3)的键输入。我找到了一个可以用“openOnEnter:false”选项完成的地方,但它对我不起作用。

回答 2 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.