Telerik MVC,Combobox更改项目的CSS

时间:2012-09-22 22:58:24

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

我的ASP.NET MVC-3应用程序正在使用previous versionTelerik MVC Extensions combobox。我正在尝试更改列表中项目的样式。

以下是模型:

public class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public bool DisplayBold { get; set; }
        public string Value
        {
            get
            {
                return string.Format("{0}|{1}", this.Id, this.DisplayBold.ToString());
            }
        }
    }

控制器:

var people = new List<Person>();
people.Add(new Person { Id = 1, Name = "John Doe", DisplayBold = true });
people.Add(new Person { Id = 2, Name = "Jayne Doe", DisplayBold = false });
ViewData["people"] = people;
return View();

Combobox:

<% 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.first();
item.addClass('test');

然而,当我尝试在Ture时更改CSS时:

var combobox = $(this).data('tComboBox');
$.each(combobox.dropDown.$items, function (idx, item) {
    if (combobox.data[idx].Value.split('|')[1] == 'True') {
        alert(item);
        $(item).addClass('test');

    }
});

它不起作用!

1 个答案:

答案 0 :(得分:0)

这是用户373721将其标记为已接听

后的版本

我正在重写my previous answer并浏览论坛标记为my old revision的用户373721作为答案。

对不起,我searched the forum of telerik看看如何挂钩数据绑定以影响css。我找不到与你的问题很好的匹配。

一个泥泞的解决方法(在这里绝望)可能是将html添加到应该以粗体显示的名称:

public class Person
{
    public string NameText { get; }
    {
        get
        {
            if(this.DisplayBold) {
                 return "<b>" + this.Name + "</b>";
            } else
                 return this.Name; 
        }
    }
}

因此,不是绑定到Name,而是绑定到NameText。 您可能需要处理html转换。

my last search我找到a post that may help。现在我发现了a post that could be from you

  • 顺便说一句,我在论坛上看到有几个bug 修复可能对您的目标很重要。 您使用的是哪个telerik mvc-release?