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

2 回答 2

1

json 数据的optionLabel格式必须与加载到下拉列表中的其他数据格式相同。所以对你来说应该是:

optionLabel: { RootCause: '-- Please Select --', rcID: '' }
于 2013-11-22T20:39:02.670 回答
0

我相信这种独特的行为是指所谓的自定义编辑器。您是否有机会在网格上的下拉列表?基本上,您正在查看的代码是将下拉控件注入到网格中的容器中,例如 ( .appendTo(container)),它会将您的 optionValue 添加到下拉列表中,但它也会选择显示在网格上的值。假设您的下拉选项是 A、B、C 和 -select-,如果网格在列中显示 B,则下拉菜单将显示 B。如果您不在网格上,则通过选项传递所选值。

删除以下属性,看看会发生什么:

data-bind="value:' + options.field + '"
于 2013-10-17T16:19:28.103 回答