我的页面上的选择元素在加载时被“display:none”隐藏。当它们变为可见时,它们都具有宽度:0。它曾经在旧的0.9.8版本上工作正常,但在更新到1.4.1后开始出现故障。我尝试在更改时触发更新,但没有效果。
$('.tab').trigger("chosen:updated");
指定宽度有效
$("select").chosen({ width: '350px' });
但是,我需要选择不同的宽度,由css或content定义
toiithl61#
由于页面上每个select的宽度都是由css定义的,因此我可以使用以下代码:
$('select').each(function() { var selectWidth = $(this).css("width"); $(this).chosen({ disable_search_threshold:10, width: selectWidth }); })
这不是最健壮的解决方案,我希望找到一种基于元素内容定义宽度的方法。
gkl3eglg2#
您在调用chosen之前隐藏了select元素。首先调用$("select").chosen();,然后使用$("select").css("display","none");隐藏元素稍后当您显示/隐藏元素时,宽度不会变为0。
$("select").chosen();
$("select").css("display","none");
2条答案
按热度按时间toiithl61#
由于页面上每个select的宽度都是由css定义的,因此我可以使用以下代码:
这不是最健壮的解决方案,我希望找到一种基于元素内容定义宽度的方法。
gkl3eglg2#
您在调用chosen之前隐藏了select元素。
首先调用
$("select").chosen();
,然后使用$("select").css("display","none");
隐藏元素稍后当您显示/隐藏元素时,宽度不会变为0。