当前位置: 首页 > 知识库问答 >
问题:

剑道MVC下拉列表未显示选定值

逑翰翮
2023-03-14

我在五月有一个剑道MVC下拉列表。我正在成功地将所选值从中保存到数据库中。当我来编辑数据时,该值从模型中正确返回并在下拉树中设置,但是,在下拉树中没有任何项目被视觉上选中。

当我尝试从单击按钮读取下拉树的值时,它正确地返回该值。

@(Html.Kendo().DropDownTree()
                .Name("VocationID")
                .DataTextField("Name")
                .DataValueField("Id")
                .ValuePrimitive(true)
                .Placeholder("--Select Vocation--")                            
                .Value(Model.VocationID.ToString())
                .DataSource(dataSource => dataSource
                    .Read(read => read
                    .Action("GetVocationTree", "ApplicationForm"))
                )
                .HtmlAttributes(new { style = "width: 250px;", required = "required", validationMessage = "Vocation is required" })
             )
function TestValue() {
        var dropdowntree = $("#VocationID").data("kendoDropDownTree");
        alert(dropdowntree.value());
}

上面的javascript警报正确返回该值,但在DropdownTree中没有显示选定的项目。我还尝试删除ValuePrimitive属性,但没有任何效果。

有人能帮我找出这里缺少什么吗?

共有1个答案

罗凯
2023-03-14

终于找到了处理这件事的方法。如果有一天它帮助了某人,就张贴它。

此控件的行为略有不同。您可以将选定的项目读取为ID,但需要设置其文本而不是ID来设置选定的项目。

获取项目值:

            var dropdowntree = $("#VocationID").data("kendoDropDownTree");
            var VocationID = dropdowntree.value().id;


并设置默认值:

            @(Html.Kendo().DropDownTree()
                            .Name("VocationID")
                            .DataTextField("Name")
                            .DataValueField("Id")
                            .Placeholder("--Select Vocation--")
                            .Value(Model.VocationName)

请注意“职业名称”而不是ID。

 类似资料:
  • 我有一张有多个剑道下拉列表的表格。。 有了选项标签,它显示了空白选择,但是当您打开DROPPDROW列表时,它会出现任何选择“空白区”的选项。在选择了一些下拉列表的值后,我无法返回。 我知道如果我在下拉列表中放入一些文本,选项标签就会出现在下拉列表中(css与其他文本不同)。但我想保留空白。 其他解决方案是在服务器端的第一个位置添加一个记录,但我想知道是否有人有不同的解决方案。谢啦

  • 我想在下拉列表中隐藏所选项目。 我试图从选择事件的数据源中删除该项目,并直接将文本和值分配给下拉列表。但是值将是空的,可能是因为设置的值不存在于数据源中。在剑道留档中找不到解决方案。

  • 目前,我面临着一个奇怪的问题-当我的页面在浏览器中呈现时,剑道dropDownlist显示其选定的值(选定的id)。你可以在下面的截图中看到它。但是在页面加载完成后,它呈现得非常好。 我们已经参考了这个链接-Kendo DropDownList在加载时在DataTextField之前显示DataValueField,但在这个答案中,他们将在渲染之前隐藏dropdown。我不想要它。我们使用了剑道d

  • 在我的剑道网格中,我为每一列都有kenddropDownlist。选定的项目应解析并显示模板文本 我一直在遵循这个例子http://jsfiddle.net/jddevight/Ms3nn/ 使现代化 我在这里简化了我的问题http://jsfiddle.net/BlowMan/mf434/ 问题 当我在下拉列表中选择一个项目时,它不会返回所选项目的值。它返回null。 }); 下面的视图部分 任

  • 我在JSFIDLE示例中有以下代码 问题是,当用户单击“添加新记录”时,它会添加一个新项目,其中设施名称下拉列表显示列表中的第一个项目。如果用户单击“更新”,则会保存记录,但会将设施名称清空。原因是,下拉列表中确实没有选定项目。我之所以知道这一点,是因为所选值在传递给控制器代码时为空。所以,我真的很想知道如何 不显示列表中的第一个项目,直到用户在列表中实际选择它或 将选定的项目设置为列表中的第一个

  • 我有剑道网格,我需要在两个单元格中内联编辑两个下拉列表。第二个列表依赖于第一个列表。第二个可以有0个或X个项目。当秒为0时,如何在保存项目时向服务器发送空值? 网格如下所示: 操作编辑器模板: 当我单击“保存”时,我在请求中始终具有操作的默认值。谢谢你的帮助!