Kendo optionLabel for drop down无法正常工作

时间:2013-10-17 15:46:47

标签: javascript jquery kendo-ui

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);
}

2 个答案:

答案 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 + '"