【问题标题】:Item in select2 dropdown not filling widthselect2下拉列表中的项目未填充宽度
【发布时间】:2017-01-24 19:39:18
【问题描述】:

在我的 select2 代码中,我使用 templateResult 将文本包装在 <span class="full-width">text</span> 中。我还附加了一个 Bootstrap 弹出窗口。 full-width 是具有 width: 100%' 的类。但是,它并没有占据下拉列表的整个宽度,这一事实证明,弹出框仅在光标位于实际文本上时发生,而不是文本右侧的空白处。当我查看检查器时,包含它的 <li class="select2-results__open"... 是 166x32(周围有 6px 填充),但实际的 <span class="full-width">text<span> 只有 56x16,没有填充、边距或边框。我怎样才能让它占据整个宽度?

根据要求,这里是 templateResult 函数(在 CoffeeScript 中,因为这就是这个项目的内容)

                templateResult: (data) ->
                    # Get the select data
                    text = data.display_name || data.name || data.text
                    ret = $(
                            "<span class=\"full-width\"
                            >#{text}</span>"
                        )
                    if data.description
                        ret.popover({
                            trigger: 'hover',
                            container: 'body',
                            html: true,
                            content: data.description,
                            title: data.title || '',
                            placement: data.placement || 'auto right',
                        })
                    ret

还有 CSS

.full-width: {
  width: 100%;
}

还有一个小提琴:https://jsfiddle.net/ptomblin/3zap0sh9/

【问题讨论】:

  • 你的代码在哪里?
  • 除了上面显示的 CSS "width: 100%" 和 templateResult 之外,实际上没有任何代码可以显示。你能想到什么其他有用的吗?
  • 所有这些都是引用一个选择框,不是吗?如果您为我们显示问题创建它会有所帮助。 stackoverflow.com/help/mcve
  • 它是select2,根据标签。

标签: css twitter-bootstrap jquery-select2


【解决方案1】:

我在 .full-width css 中添加了display: block;,问题就消失了。

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    相关资源
    最近更新 更多