我正在尝试为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正在被正确呈现。但由于某种原因,我无法选择元素并设置列表的宽度属性。
答案 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"
});