我选择使用以制作有趣的组合框。一切正常,但我有一个问题。
我认为选项列表采用可视组合框中给出的宽度。我所有的选择都很长,我必须制作一个非常大的组合框,以避免两行选项。
是否有可能在关闭时制作一个小的组合框,如150px,在列表打开时可以制作更大的组合框?
答案 0 :(得分:28)
是的,这是可能的。这可以通过两种方式完成:
chzn-drop
。我更喜欢第二个,这是代码:
<强> HTML:强>
<select class="chzn-select" data-placeholder="select your options" style="width: 150px">
<option value="">option1</option>
<option value="option1">option2</option>
<option value="option2">option3</option>
</select>
<强> jQuery的:强>
$('.chzn-select').chosen();
$('.chzn-drop').css({"width": "300px"});
<强>结果:强>
希望你理解。
答案 1 :(得分:9)
批准的答案是正确的,但是:您也可以对其进行设置,以便下拉列表获取托管其内容所需的宽度而不是固定值。我也做到了这一点,它不会小于选择框本身。
$('.chosen-drop').css({minWidth: '100%', width: 'auto'});
答案 2 :(得分:2)
您可以选择初始化程序来设置width属性。
$(".chosen-select").chosen({ allow_single_deselect: true, disable_search_threshold: 5, width:"100%" });
答案 3 :(得分:1)
$('.chosen-select').each(function() {
var $this = $(this);
$this.next().css({'width': '225px'});
});
答案 4 :(得分:0)
使行太宽会在小屏幕上出现一些问题,我将此自定义CSS添加到我的网页中,只有在屏幕足够大的情况下,才会使所选选项行变宽:
@media screen and (min-width: 720px) {
.chosen-container .chosen-drop {
border-top: 1px solid #aaa !important;
width: auto !important;
white-space: nowrap !important;
min-width: 100%;
}
}
答案 5 :(得分:0)
要使其继承自原始选择的类的宽度,请使用空白宽度对其进行初始化。
$(selector).chosen({
inherit_select_classes: true,
width: '',
/*other options*/
})