2012-09-24 70 views
0

我的應用程序是asp.net MVC,我使用Telerik的MVC組合框,使用ViewData的,我送項目,如:檢索數據-Telerik MVC

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('|')); 

,但得到這個錯誤:無法獲得屬性「分裂」的值:對象是提前null或undefined

感謝。

+0

是什麼意思「獲得這個項目的數據來檢查如果它是虛假的,則視爲價值。「 ?詳細闡述這一點。 –

回答

0

這裏是Client API documentation

基本上你需要首先得到的組合框插件的引用:

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

然後就可以調用任何你需要的方法:

alert(combo.value()); 

編輯:您的組合框目前綁定到。其中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) 
    }) 
    ... 
+0

謝謝,這會給我索引值,但是我正在尋找如果查看是真的還是假的。 – hncl

+0

@ user373721我已經更新了答案 –