1

コンボボックスの値を設定するのに苦労しています。問題は、複数のコンボボックスがあり、それぞれがコンボボックスから以前に選択された値に依存していることです。すべての値はデータベースに保存されます。値を取得してコンボ ボックスの値を設定する ajax リクエストを実行すると、ページを更新するたびにコンボ ボックスのテキストが正しくありません。また、ページをロードするたびに、何も変更されていないにもかかわらず、コンボ ボックスに異なるテキストが表示されます。これは、値を設定する方法と関係がありますか? または、それぞれが前の値に依存していることを考慮して、特定の順序が必要ですか? 誰か助けてくれませんか???

例: Sports (1 番目のコンボ ボックスから選択)、Football (2 番目のコンボ ボックスから選択)、David Beckham (3 番目のコンボ ボックスから選択)

このデータがすべて選択され、データベースに保存されます。ドキュメントの準備ができたら、ajax リクエストを呼び出してこのデータを取得し、コンボ ボックスの値を設定しますが、保存された値が表示されず、データ ソースとは異なる値が表示されるか、何も表示されません。ページが読み込まれるたびに、正しい値がデータベースから取得されている場合でも、何か他のものが表示されます。

4

1 に答える 1

2

コンボボックスを3つ依存させたい場合は、剣道コンボボックスの「cascadeFrom」プロパティを利用すると良いでしょう。簡単な例:

 <div>
     <input id="category" />
     <input id="sports" />
     <input id="player" />
 </div>

 <script>
  $("#category").kendoComboBox({
    dataTextField: "categoryName",
    dataValueField: "categoryId",
    dataSource: [
        { categoryName: "Sports", categoryId: 1 },
        { categoryName: "Music", categoryId: 2 }
    ]
   });

  $("#sports").kendoComboBox({
    cascadeFrom: "category",
    dataTextField: "sportsName",
    dataValueField: "sportsId",
    dataSource: [
        { sportsName: "Football", sportsId: 1, categoryId: 1 },
        { sportsName: "Cricket", sportsId: 2, categoryId: 1 },
        { sportsName: "Pop", sportsId: 3, categoryId: 2 },
        { sportsName: "Rock", sportsId: 4, categoryId: 2 }
    ]
  });

  $("#player").kendoComboBox({
    cascadeFrom: "sports",
    dataTextField: "playerName",
    dataValueField: "playerId",
    dataSource: [
        { playerName: "David Beckham", playerId: 1, sportsId: 1 },
        { playerName: "Leonel Messi", playerId: 2, sportsId: 1 },
        { playerName: "Xavi", playerId: 3, sportsId: 1 },
        { playerName: "Raina", playerId: 4, sportsId: 2 },
        { playerName: "Gambhir", playerId: 4, sportsId: 2 },
        { playerName: "YXZ", playerId: 4, sportsId: 3 },
        { playerName: "ABC", playerId: 4, sportsId: 3 }
    ]
  });

   // To set value in combo-box
   $("#category").data('kendoComboBox').value(1);
   $("#sports").data('kendoComboBox').value(1);
   $("#player").data('kendoComboBox').value(2);

</script>

ここでは、コンボ ボックスに設定する値をハード コードしました。データベースからデータを取得して、ここで設定できます。コンボ ボックスの値フィールドを保存し、それを使用してデータを表示するとよいでしょう。

お役に立てれば。

参照リンク

于 2014-09-09T11:31:19.900 に答える