ページの読み込みが完了したら、データベースから値を取得し、取得した値に応じていくつかのドロップダウンを設定する関数を実行する必要があります。フォーム コントロールの変更イベントのようなものです。
Knockout.js を使用してこれを行うにはどうすればよいですか?
ありがとう。
ページの読み込みが完了したら、データベースから値を取得し、取得した値に応じていくつかのドロップダウンを設定する関数を実行する必要があります。フォーム コントロールの変更イベントのようなものです。
Knockout.js を使用してこれを行うにはどうすればよいですか?
ありがとう。
これは簡単で汚い例です。アイデアは次のとおりです。
getJSON
サーバーからデータを取得するために使用します。getJSON
。私の理解が正しければ、ドロップダウン リストの実際の内容を取得するのではなく、表示するオプションを決定するのに役立つその他の情報を取得することになります。この考えを例に取り入れました。ところで、Countries は文字列の配列である必要はありません。複雑な JS オブジェクトの配列にすることができます。ただし、data-bind="options: ..."
バインドを拡張して、オブジェクトのどのプロパティがラベルoptionsText
とoptionsValue
値であるかを示す必要があります。詳しくはこちらをご覧ください。
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']);
}
});
}
http://knockoutjs.com/examples/controlTypes.html http://knockoutjs.com/documentation/options-binding.htmlの ようなドロップダウンのバインディングを ko.observableArray に置き換えるだけです。そして、この配列にロードされたデータを入力します。