2016-06-20 4 views
0

でKendoComboBoxを移入:は、次のようにKendoComboBoxのドキュメントによると、それを移入する方法があるリスト

$("#teamName").kendoComboBox({ 
       dataTextField: "text", 
       dataValueField: "value",     
        dataSource: [ 
        { text: "Item1", value: "1" }, 
        { text: "Item2", value: "2" } 
       ] 
      }) 

今はModel.Teamsに格納されたビューのリストを持っています。誰かがModel.Teamsのデータでコンボボックスを作成する良い方法を提案できますか?

例えば:私のような何かやりたいと思っています:

... 
var model = (function() { 
       return { 
        Teams: '@Model.Teams' 
       }}); 
... 
... 
dataSource: [ 
     for (var i = 0; i < model.Teams.Count; i++) { 
      { text: "model.Team[i]", value: "model.Team[i]" }, 
     } 
     ]  

を、それは、この構文のが好きではありません。

+0

チームのオブジェクトをいただきましたように見えますか? 基本的には以下のとおりですが、希望の情報(ID、名前など)を持つチームメンバーの名前が付けられたテキストフィールドと値フィールドがあります。 dataSource:Model.Teams –

+0

これは単なる文字列のリストです。私が達成しようとしていることにもっとOPを更新しました – BMills

+0

あなたは今まで持っているものでjsFiddleを作成できますか? –

答えて

1

MVCを使用する場合は、Kendo's Demoページを参照する必要があります。

jsFiddleを更新し、JavaScript内でこれを行うようにしました。

var teams = ["A team", "B team"]; 
 
var ds = new kendo.data.DataSource(); 
 

 
$("#teamName").kendoComboBox({ 
 
    dataTextField: "text", 
 
    dataValueField: "value", 
 
    dataSource: ds 
 
}); 
 

 
//Can use either method to add items to the data source 
 
if (true) { //Change my to false, same results! 
 
    for (var i = 0; i < teams.length; i++) { 
 
    ds.add({ 
 
     text: teams[i], 
 
     value: teams[i] 
 
    }); 
 
    } 
 
} else { 
 
    ds.data(teams.map(function(team) { 
 
    return { text: team, value: team }; 
 
    })); 
 
}
<link href="http://kendo.cdn.telerik.com/2016.2.607/styles/kendo.common.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://kendo.cdn.telerik.com/2016.2.607/js/kendo.all.min.js"></script> 
 
<input id="teamName" name="team" placeholder="Team name" style="width:300px">

+0

は完璧に動作します、ありがとう! – BMills

関連する問題