jquery Chosen.js:元素接收宽度为0

fae0ux8s  于 2022-11-03  发布在  jQuery
关注(0)|答案(2)|浏览(164)

我的页面上的选择元素在加载时被“display:none”隐藏。当它们变为可见时,它们都具有宽度:0。它曾经在旧的0.9.8版本上工作正常,但在更新到1.4.1后开始出现故障。
我尝试在更改时触发更新,但没有效果。

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

指定宽度有效

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

但是,我需要选择不同的宽度,由css或content定义

toiithl6

toiithl61#

由于页面上每个select的宽度都是由css定义的,因此我可以使用以下代码:

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

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

gkl3eglg

gkl3eglg2#

您在调用chosen之前隐藏了select元素。
首先调用$("select").chosen();,然后使用$("select").css("display","none");隐藏元素
稍后当您显示/隐藏元素时,宽度不会变为0。

相关问题