【问题标题】:Retrieving Data of a combobox item -Telerik MVC检索组合框项目的数据 -Telerik MVC
【发布时间】:2012-09-24 07:13:00
【问题描述】:

我的应用程序是 asp.net MVC,我正在使用 Telerik MVC Combobox,使用 ViewData,我将项目发送为:

 people.Add(new Person { Id = 1, Name = "John", viewed = true });

<% Html.Telerik().ComboBox()
       .Name("ComboBox")
       .BindTo(new SelectList((IEnumerable<Person>)ViewData["people"], "Id", "Name"))
       .ClientEvents(events => events.OnChange("ComboBox_onChange")
       .OnLoad("ComboBox_onLoad")
       .OnOpen("ComboBox_OnOpen"))
       .Render();
%>

我可以使用以下方法获取特定项目的文本:

 var item = combobox.dropDown.$items.eq(0);
 alert(item.text());

知道如何获取该项目的数据以检查查看的值是否为真或假。 我试过了:

   alert(item.Value.split('|'));

但出现此错误:无法获取属性“split”的值:对象为空或未定义

提前致谢。

【问题讨论】:

  • 什么意思是“获取这个item的数据,检查viewed的值是true还是false。” ?详细说明这一点。

标签: asp.net-mvc combobox telerik-mvc


【解决方案1】:

这里是Client API documentation

基本上你需要先获得对组合框插件的引用:

var combo = $('#ComboBox').data('tComboBox');

然后你可以调用任何你需要的方法:

alert( combo.value() );

编辑:

您的组合框当前绑定到SelectList,其中Value 是Person.Id,Text 是Person.Name。 “已查看”属性未存储在任何地方。您可以将其作为Value 的一部分包含在内,按照我上面的描述检索值,然后split() 以获取“已查看”部分:

Html.Telerik().ComboBox()
    .Items(items =>
    {
        // pseudo-code
        foreach (person)
            items.Add().Text(person.Name).Value(person.Id + "_" + person.Viewed)
    })
    ...

【讨论】:

  • 谢谢,这会给我索引值,但是我正在寻找查看的是真还是假。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-13
相关资源
最近更新 更多