Kendo ui 下拉默认值

Kendo ui dropdown default value

这里有一个奇怪的地方:在我的代码的任何其他部分,这工作正常,但在这个特定的指令中,它不会假定传递默认值。它保留 select ----- 值。

function RolesDropDownEditor(container, options) {    
    var _roleID = null;    
    if (options.model.roleID !== null && options.model.roleID !== undefined)
        _roleID = options.model.roleID;    
    $('<input name="Role" id="ddRoles" required="required"/>')
    .appendTo(container)
    .kendoDropDownList({
        dataTextField: "name",
        dataValueField: "roleID",
        dataSource: $rootScope.globalObjects.dsRoles,
        optionLabel: '--',
        change: function (e)
        {
                options.model.roleID = this.value();
                options.model.dirty = true;
                $scope.$apply();    
        }
    });    
    $("#ddRoles").data("kendoDropDownList").value(_roleID);    
    $("<span class='k-invalid-msg' data-for='Role'></span>").appendTo(container);    
}

自定义编辑器的 name 属性值 ("Role") 必须与编辑字段的名称 ("roleID") 匹配,但似乎并非如此。

http://demos.telerik.com/kendo-ui/grid/editing-custom

实现后,您将不必在 DropDownList 的 change 处理程序中手动设置 options.model.roleID