我正在尝试开发一种计算jqxComboBox最佳宽度的方法。 我首先编写了一个名为widthFit的函数,它执行以下操作:
function widthFit(data,displayMember)
{
var font_size=$(".jqx-widget").css("font-size");
var font_name=$(".jqx-widget").css("font-name");
var n=data.length;
var width=0;
var lbl='';
for (i=0;i<n;i++)
{
item= data[i][displayMember];
if(item.length>width)
{
width=item.length;
lbl=item;
}
}
$("body").append($("<span id='string_span' style='font-name: "+font_name +"; font-size:"+font_size+"'>"+lbl+"</span>"));
$("#string_span").hide();
width=$("#string_span").width();
$("#string_span").remove();
// +50px to fit the down-arrow button
return width+50;
}
然后在jqxComboBox的bindingComplete事件中,我添加了一个调用,使用我创建的函数调整窗口小部件的宽度,如下所示:
$("#jqxComboBox").on('bindingComplete', function (event) {
$("#jqxComboBox").jqxComboBox({width:widthFit(data,"title")});
});
我得到了我想要的东西,但组合的“头部”没有正确调整大小,如下图所示:
这是一个显示整个代码的JSFIddle链接。 http://jsfiddle.net/MedYounes/L23x6u4n/
如果我找到这方面的帮助,我会很高兴。