【问题标题】:Kendo DropDownList OptionLabel never appears until it is opened and closedKendo DropDownList OptionLabel 在打开和关闭之前永远不会出现
【发布时间】:2014-08-28 20:23:03
【问题描述】:

使用以下内容,DropDownList 在加载时不会显示任何内容。当页面加载时,它应该显示 Select a code 而不是空白。我打开/关闭它后工作正常。然后使用可选标签。我添加了 Text / SelectedIndex 属性,同时搞砸了。

@(Html.Kendo().DropDownList()
   .Name("quickCodes")
   .BindTo((System.Collections.IEnumerable)ViewBag.QuickCodes)
   .Template("#if (data.OpCode) { # ${ data.Code } ${ data.OpCode } ${ data.Description } # } else { data.Code } #" +
             "<input type='hidden' name='DetailLines[#= index(data)#].QuickCodeId' value='#= data.Id #' />")
   .DataValueField("Code")
   .DataTextField("Code")
   .ValuePrimitive(true)
   .AutoBind(false)
   .OptionLabel("Select a code")
   .Text("Select a code")
   .SelectedIndex(0)
   .Events(o => o.Change("quickCodeAdd"))

)

【问题讨论】:

  • 您已将选定索引设置为 0 并且“选择代码”可能不在索引 0 中检查下拉菜单并找到“选择代码”的索引并通过更改 selectedIndex(x )。一旦确认这是问题所在,您就可以调整选择代码标签的位置
  • 剑道控件实际上并不使用真正的“选择”。它是一堆内部跨度和一个包含 ul 元素的 div。所以不可能做到这一点。但是,当用户单击下拉菜单并选择一个项目时,我正在以编程方式调用 select(0),这实际上选择了选项标签(选择代码)。据我了解,选项标签的目的是轻松填写。
  • 解决方法:$("span.k-input").text("Select a code").

标签: asp.net asp.net-mvc kendo-ui kendo-asp.net-mvc


【解决方案1】:

看起来 AutoBind 设置为 false,OptionLabel/Text 存在问题。下面的代码工作更接近你建议的工作。

@(Html.Kendo().DropDownList()
      .Name("color")
      .DataTextField("Code")
      .DataValueField("Code")
      .AutoBind(false)
      .Text("Select Code")
      .OptionLabel("Select code")
      .HtmlAttributes(new { value = "Select code" })
      .BindTo(ViewBag.QuickCodes)

)

【讨论】:

    猜你喜欢
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 2016-11-20
    • 2019-02-28
    • 2017-07-22
    • 1970-01-01
    相关资源
    最近更新 更多