Below is the kendo code for drop down control.
我正在尝试显示“请选择”选项。这个确切的代码适用于除此之外的所有下拉菜单。 选项显示为下拉列表的一部分,但不会在下拉列表首次加载时显示。请帮助,因为我也尝试关闭并打开Visual Studio并在浏览器中删除历史记录。
function getRC(rcid) {
for (var i = 0; i < ddRCpicklist.length; i++) {
if (ddRCpicklist[i].rcID === rcid) {
return ddRCpicklist[i].RootCause;
}
}
return 'No value matched';
}
function RootCauseDropDownEditor(container, options) {
if (options.model.Name !== null) {
var ddRC= $('<input id="ddRootCause" required data-text-field="RootCause" data-value-field="rcID" data-change="ddRootCauseSelect" data-bind="value:' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList({
index:0,
autoBind: false,
dataSource: { data: ddRCpicklist },
optionLabel: "--Please Select--"
}).data("kendoDropDownList");
}
}
function ddRootCauseSelect(e) {
ddValRootCause = $("#ddRootCause").val();
alert(ddValRootCause);
}
答案 0 :(得分:1)
optionLabel
json数据的格式必须与加载到下拉列表中的其他数据的格式相同。所以对你来说应该是:
optionLabel: { RootCause: '-- Please Select --', rcID: '' }
答案 1 :(得分:0)
我相信这种独特的行为是指所谓的自定义编辑器。你的任何机会下降到网格上吗?基本上您正在查看的代码是将下拉控件注入网格中的容器(例如.appendTo(container)
),它会将您的optionValue添加到下拉列表中,但它也会选择显示在网格上的值。假设您的下拉选项是A,B,C和-select-,如果网格中的网格显示B,则下拉列表将显示B.如果您不在网格上,则通过选项传递所选值。
删除以下属性,看看会发生什么:
data-bind="value:' + options.field + '"