首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置kendo组合体的宽度而不使用其Id

设置kendo组合体的宽度而不使用其Id
EN

Stack Overflow用户
提问于 2013-12-29 14:25:21
回答 1查看 368关注 0票数 0

我在持续性项目中工作,我想知道:如何定义kendo组合框的宽度?

我在链接设置kendo ui下拉列表宽度上看到了这个问题,但是答案对我没有好处,因为我不想使用组合式Id。

(为什么没有简单的方法将其作为组合式属性来实现,就像您可以简单地定义它的高度一样?)

以下是我的html代码:

代码语言:javascript
复制
   <input id="myCombo" data-bind=" value:'444',        
        kendoDropDownList: { dataSource: data,
        dataValueField:itemValue,
        dataTextField: itemText,
        value:selectedId,            
        }" />
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-29 15:52:41

我猜没有width选项,因为小部件默认为输入的宽度,所以对于典型的用例,不需要单独指定宽度。如果您希望为下拉容器的宽度提供一个单独的选项,您可以简单地创建自己的小部件来读取listWidth选项:

代码语言:javascript
复制
(function ($) {
    var ui = kendo.ui,
        DropDownList = ui.DropDownList;

    var CustomDropDownList = DropDownList.extend({
        init: function (element, options) {
            DropDownList.fn.init.call(this, element, options);

            if (options.listWidth) {
                this.list.width(options.listWidth);
            }
        },

        options: {
            name: 'CustomDropDownList'
        }
    });

    ui.plugin(CustomDropDownList);
})(jQuery);

然后您可以像这样使用:

代码语言:javascript
复制
$("#c2").kendoCustomDropDownList({
    dataTextField: "text",
    dataValueField: "value",
    listWidth: 400,
    dataSource: [{
        text: "Item1",
        value: "1"
    }, {
        text: "Item2",
        value: "2"
    }]
});

如果您想以声明的方式声明listWidth,可以使用像下面这样的init方法:

代码语言:javascript
复制
init: function (element, options) {
    options.listWidth |= $(element).attr('data-list-width');

    DropDownList.fn.init.call(this, element, options);

    if (options.listWidth) {
        this.list.width(options.listWidth);
    }
}

然后像这样使用:

代码语言:javascript
复制
<input data-role='customdropdownlist' data-list-width="150"/>

演示这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20826110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档