无法设置KendoDropDownList窗口大小

时间:2015-10-19 18:47:06

标签: kendo-ui kendo-asp.net-mvc

我正在尝试为KendoDropDownList设置下拉窗口的宽度。使用以下代码:

<input id="dropdownlist" name="SelectedServiceLine"/>

<script>
    $(function() {
        var mdl = @Html.Raw(Json.Encode(Model.ServiceLines));
        var ddl = $("#dropdownlist").kendoDropDownList({
            dataSource: mdl,
            name: "SelectedServiceLine",
            dataTextField: "Description",
            dataValueField: "Description"
        });
        var dropdownlist = $("#dropdownlist");
        var kendoDDL = dropdownlist.data("kendoDropDownList");
        kendoDDL.list.width(400);
    });
</script>

下拉列表显示并且是一个KendoDropDownList。所以我知道调用var ddl = $(“#dropdownlist”)。kendoDropDownList()正在工作。但是,在调用kendoDDL.list.width(400)时出现异常。

0x800a138f - JavaScript运行时错误:无法获取未定义或空引用的属性“列表”

call var dropdownlist = $(“#dropdownlist”)返回一个对象。所以元素“dropdownlist”确实存在。但是对dropdownlist.data(“kendoDropDownList”)的调用是未定义的。我不知道从哪里可以找到问题。显然,定义了kendo,因为KendoDropDownList正在被正确呈现。但由于某种原因,我无法选择元素并设置列表的宽度属性。

2 个答案:

答案 0 :(得分:1)

我会像这样设置宽度。它会自动将宽度调整为列表中的最大项目。

$("#dropdownlist").data("kendoDropDownList").list.width("auto");

<强>更新 你也可以试试这个:

var ddl = $("#dropdownlist").css("width", "400px").kendoDropDownList({ ...

答案 1 :(得分:1)

问题是,我正在设置&#34;名称&#34; KendoDropDownList上的属性。然而,&#34;姓名&#34;不是有效的财产。它应该是这样的:

    var ddl = $("#dropdownlist").kendoDropDownList({
        dataSource: mdl,            
        dataTextField: "Description",
        dataValueField: "Description"
    });