0

私のアプリケーションはasp.netMVCで、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());

このアイテムのデータを取得して、表示された値がtrueまたはfalseであるかどうかを確認する方法についてのアイデア。私は試した:

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

しかし、このエラーが発生しました:プロパティ'split'の値を取得できません:オブジェクトがnullまたは未定義です

前もって感謝します。

4

1 に答える 1

0

これがクライアントAPIのドキュメントです

基本的に、最初にコンボボックスプラグインへの参照を取得する必要があります。

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

次に、必要なメソッドを呼び出すことができます。

alert( combo.value() );

編集:

コンボボックスは現在、 Person.IdおよびPerson.NameSelectListであるにバインドされています。「viewed」プロパティはどこにも保存されません。これをの一部として含め、上記で説明したように値を取得してから、「表示された」部分を取得できます。ValueTextValuesplit()

Html.Telerik().ComboBox()
    .Items(items =>
    {
        // pseudo-code
        foreach (person)
            items.Add().Text(person.Name).Value(person.Id + "_" + person.Viewed)
    })
    ...
于 2012-09-24T16:50:25.690 に答える