0

ページの読み込みが完了したら、データベースから値を取得し、取得した値に応じていくつかのドロップダウンを設定する関数を実行する必要があります。フォーム コントロールの変更イベントのようなものです。

Knockout.js を使用してこれを行うにはどうすればよいですか?

ありがとう。

4

2 に答える 2

0

これは簡単で汚い例です。アイデアは次のとおりです。

  1. ドロップダウンのデータを保持する監視可能な配列をセットアップします。最初は、配列は空で、ドロップダウンにはコンテンツがありません。
  2. getJSONサーバーからデータを取得するために使用します。
  3. のコールバックでドロップダウン リストに入力しますgetJSON。私の理解が正しければ、ドロップダウン リストの実際の内容を取得するのではなく、表示するオプションを決定するのに役立つその他の情報を取得することになります。この考えを例に取り入れました。

ところで、Countries は文字列の配列である必要はありません。複雑な JS オブジェクトの配列にすることができます。ただし、data-bind="options: ..."バインドを拡張して、オブジェクトのどのプロパティがラベルoptionsTextoptionsValue値であるかを示す必要があります。詳しくはこちらをご覧ください。

var CompanyViewModel = function()
{
    var self = this;

    self.Countries = ko.observableArray();

    $.getJSON('api/countries', function(data) {
        if(data == 1)
        {
            self.Countries(['France', 'Germany', 'Spain'])
        } else if(data == 2)
        {
            self.Countries(['Holland', 'Belgium', 'Luxemburg']);
        }
    });
 }
于 2012-09-03T19:16:39.473 に答える
0

http://knockoutjs.com/examples/controlTypes.html http://knockoutjs.com/documentation/options-binding.html ようなドロップダウンのバインディングを ko.observableArray に置き換えるだけです。そして、この配列にロードされたデータを入力します。

于 2012-09-03T19:16:19.447 に答える