如何在Kendo UI中设置组合框的自动宽度?

开发人员

我想根据绑定到组合框的最长文本自动设置组合框的宽度,因此我尝试如下所示,但是我只能看到自动尺寸(宽度)用于下拉菜单(单击组合框),但长度仍比预期的长,总长度应减少为仅容纳3个字符,我在这里遗漏了什么吗?

在此处输入图片说明

<input id="combobox" />

$("#combobox").kendoComboBox({
  index: 0,
  dataSource: {
    data: ["One", "Two"]
  }
});
var comboBox = $("#combobox").data("kendoComboBox");
comboBox.list.width("auto");
$("#combobox").width(parseInt($("#combobox").css("width")));

http://jsfiddle.net/KendoDev/Z4rwQ/

冰刺

我猜您可以确定数据源本身的长度,然后调整组合框的大小。这适用于演示项目,但是我想取决于样式和填充,您可能需要对样式技术进行更多改进。

这决定了元素的大小(同样,如果您使用对象而不是数组内部的字符串,则可能需要对其进行一些优化(如果需要,可以通过displayMember)

function determineWidth(ds) {
    var l = ds.length, selement = document.createElement('span'), maxwidth = 0, curwidth = 0;
    selement.style = 'position: fixed; left: -500px; top: -500px;';
    document.body.appendChild(selement);
    for (var i = 0; i < l; i++) {
        $(selement).html(ds[i]);
        curwidth = $(selement).width();
        if (curwidth < maxwidth) {
            continue;
        }
        maxwidth = curwidth;
    }
    document.body.removeChild(selement);
    return curwidth + 24;
}

在组合框中,您可以绑定到dataBound事件,确定元素的大小,并更新容器和父对象以匹配实际大小

$("#combobox").kendoComboBox({
    index: 0,
    dataSource: {
        data: ["One", "Two", "Hundred"]
    },
    dataBound: function() {
        var width = determineWidth(this.dataSource.data());
        $('#combobox-container').find('span>.k-dropdown-wrap').width(width).parent().width(width);
    }
});
var comboBox = $("#combobox").data("kendoComboBox");

小提琴,您可以在这里找到:http : //jsfiddle.net/Icepickle/gLbLtjhf/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Kendo UI-如何在JavaScript中修改Kendo模板

来自分类Dev

Kendo UI-如何在JavaScript中修改Kendo模板

来自分类Dev

ExtJS 4如何设置组合框的宽度

来自分类Dev

如何在Kendo UI中绑定模型?

来自分类Dev

如何设置Kendo UI网格宽度

来自分类Dev

如何在Kendo Grid中显示GUID?

来自分类Dev

如何在Kendo DatePicker中阻止日期

来自分类Dev

如何在Python日志记录中设置组合字段的宽度

来自分类Dev

如何在Kendo UI中增加选择标签的边框宽度

来自分类Dev

WPF:如何正确设置组合框的下拉菜单的宽度

来自分类Dev

如何在xlsxwriter中自动设置列的宽度

来自分类Dev

如何在模板中设置Kendo DropDownList列表高度?

来自分类Dev

如何在Kendo模板中动态设置列

来自分类Dev

如何在MVC应用中设置Kendo地图边界?

来自分类Dev

如何在AngularJS指令链接中声明Kendo UI对象

来自分类Dev

如何在Kendo UI TreeList中动态更改列标题?

来自分类Dev

如何在Kendo UI TabStrip中禁用键盘导航?

来自分类Dev

如何在kendo-ui中默认显示占位符

来自分类Dev

如何在JavaScript中更改Kendo UI日期格式

来自分类Dev

如何在Kendo UI编辑器中覆盖打印?

来自分类Dev

如何在Angular 2中使用Kendo UI Slider

来自分类Dev

如何在自动热键中设置组合阈值

来自分类Dev

如何在自动热键中设置组合阈值

来自分类Dev

如何在Java FX中设置下拉框的宽度

来自分类Dev

如何在python的绘图框中设置框的宽度?

来自分类Dev

如何在Java FX中设置下拉框的宽度

来自分类Dev

如何将“组合框”下拉列表宽度设置为它所属的组合框?

来自分类Dev

如何在Kendo UI中的表单选择中设置默认选择值?

来自分类Dev

如何在6个Kendo UI下拉列表框中更新数据

Related 相关文章

热门标签

归档