Chosen.js:元素的宽度为0

Chosen.js: Elements receive width of 0

本文关键字:js 元素 Chosen      更新时间:2023-09-26

我页面上的选择元素在加载时被"display:none"隐藏。当它们变为可见时,它们都具有宽度:0。它曾经在旧的0.9.8版本上运行良好,但在更新到1.4.1后开始出现故障。

我尝试触发更改的更新,但没有效果。

$('.tab').trigger("chosen:updated");

指定宽度工作

$("select").chosen({ width: '350px' });

然而,我需要不同宽度的选择,由css或内容定义

由于我的页面上每个选择的宽度都是由css定义的,所以我能够使用它:

$('select').each(function() {
    var selectWidth = $(this).css("width");
    $(this).chosen({ disable_search_threshold:10, width: selectWidth });
})

这不是最健壮的解决方案,我希望找到一种基于元素内容定义宽度的方法。

您在调用selected之前隐藏了select元素。

第一次呼叫$("select").chosen();然后用$("select").css("display","none"); 隐藏元素

稍后显示/隐藏元素时,宽度不会变为0。