即时通讯在我的kendodropdownlist上有问题...每当我在其上添加一个optionlabel时,它总是会显示未定义的字段..如何摆脱我的下拉列表中的undefined ...下拉列表的功能正常“undefine”这个词真让我烦恼。
这是我的代码:
<input id="ddlWorker" name="ddlWorker" class:"validate[required] inputLong" style="width: 400px;" value="@workerPosId" />
$("#ddlWorker").kendoDropDownList({
dataTextField: "workerName",
dataValueField: "workerID",
autoBind: false,
optionLabel: {
workerName: "-- Select An Option --",
workerID: ""
},
// define custom template
template:
'<h5>${ data.workerName }</h5>' +
// '<p>${ data.workerID }</p>' +
'<p>${ data.AvailableDay_LookID }</p>' +
'<p>${ data.StartTime } - ${ data.EndTime }</p>',
dataSource: {
transport: {
read: {
url: '/Client/LoadWorkerDropdownList?clientCusPosShiftId=' + clientCusPosShiftId,
dataType: "json",
type: "POST"
}
}
}
});
var dropdownlist = $("#ddlWorker").data("kendoDropDownList");
感谢
答案 0 :(得分:1)
这是因为它会提供您的optionLabel
对象:
{
workerName: "-- Select An Option --",
workerID: ""
}
进入template
:
'<h5>${ data.workerName }</h5>' +
'<p>${ data.AvailableDay_LookID }</p>' +
'<p>${ data.StartTime } - ${ data.EndTime }</p>'
所以它正在尝试打印对象上AvailableDay_LookID
,StartTime
和EndTime
undefined
的数据。
如果这些字段不存在,您可能希望跳过这些字段。试试模板:
'<h5>${ data.workerName }</h5>' +
'#if(data.AvailableDay_LookID) {#<p>${ data.AvailableDay_LookID }</p>#}#' +
'#if(data.StartTime && data.EndTime) {#<p>${ data.StartTime } - ${ data.EndTime }</p>#}#'