如何捕捉 select2 下拉菜单的宽度?
How can I catch the width of select2 dropdown?
我有一个 select2 下拉菜单,其容器的宽度为 100%。容器宽度是可变的。
我的下拉菜单宽度正确。但是当我 select 一个名称很长的选项时,下拉列表的大小会增加。我尝试了很多事情来防止这种情况。但是没有任何效果,因为我不能使用固定尺寸。
所以我的方法是捕获 select2 的大小,在我 select 选项之前,然后在 select 选项之后将相同的大小添加到select再次框。但是试图捕捉 select 框的宽度是行不通的。
$(document).on('change', '.select2', function(e) {
var width = $( this ).css( "width" );
alert(width);
});
输出是1px
但是尺寸肯定比1px宽。
$(this)
在这种情况下,实际上是 selected 项目 而不是 select 下拉列表。要获得 select 下拉列表,请先调用父级 width()
$(document).on('change', '.select2', function(e) {
var width = $(this).parent().width();
alert(width);
});
我有一个 select2 下拉菜单,其容器的宽度为 100%。容器宽度是可变的。 我的下拉菜单宽度正确。但是当我 select 一个名称很长的选项时,下拉列表的大小会增加。我尝试了很多事情来防止这种情况。但是没有任何效果,因为我不能使用固定尺寸。
所以我的方法是捕获 select2 的大小,在我 select 选项之前,然后在 select 选项之后将相同的大小添加到select再次框。但是试图捕捉 select 框的宽度是行不通的。
$(document).on('change', '.select2', function(e) {
var width = $( this ).css( "width" );
alert(width);
});
输出是1px
但是尺寸肯定比1px宽。
$(this)
在这种情况下,实际上是 selected 项目 而不是 select 下拉列表。要获得 select 下拉列表,请先调用父级 width()
$(document).on('change', '.select2', function(e) {
var width = $(this).parent().width();
alert(width);
});