選択の値を変更すると、テキストボックスを更新しようとしています。Knockout.js - ドロップダウンが変更されたときにテキストボックスを更新する
これはかなり単純ですが、私はテキストボックスをデータを簡単に更新するようには考えていません。
は、ここで私はこれまで何ができるかです:
- キャッチ変更イベント
- が選択ドロップダウンから
をIDを取得します。ここで私が何をしたいです:
- 選択したIDを使用して、ビューモデル内のオブジェクトの配列内からプロパティ値を返します。ただし、IDが配列インデックスと一致しません(つまり、選択されたIDは「43」ですが、インデックスは0です)。
私のノックアウトコードはかなり基本的なものであり、その代わりに私はVM構造を投稿します。
ViewModel
--> Property1
--> Property2
--> Array
--> Object[0]
--> "Property to match with the selected ID"
--> "Property that I want to return"
--> Object[1]
これはどれくらい意味があるのかは分かりません。
その他の情報を提供することができます。
ありがとうございます!
EDIT
VM
var PurchaseOrderViewModel = function (data) {
var self = this;
self.UpdateCurrency = function (data, event) {
//
}
self.UpdateSupplierContactDetails = function (data, event) {
//
}
ko.mapping.fromJS(data, {}, self);
}
$(document).ready(function() {
var viewModel = new PurchaseOrderViewModel(@Html.Raw(jsonString));
ko.applyBindings(viewModel);
});
誰がここに問題がある場合には実用的なソリューションを得ることができたEDIT#2
は、私はその周りに働いていた方法です。私はあなたを考えるコードは(1)を探している、とのコード私はあなたが書くべきだと思う(2):
var contact = ko.unwrap(ko.utils.arrayFirst(self.AllSupplierContacts(),
function (item) {
return ko.unwrap(item.Id) === newID;
}).BusinessTelephoneNumber);
我々だけで動作するように何かを持っているためにゼロからテスト・フィクスチャを記述する必要はありませんので、非常に少なくとも、あなたの現在のコードを投稿でポイントが常にあります。あなたのコードを投稿してください。それを(ほとんど)実例、ビューモデル、データ、ビュー、初期化、そしてすべてにしてください。 – Tomalak
@JamesThorpeええ、おそらくあまり言葉を言わない。私はそれが本質的に今のところ定型であることを意味し、この最初の機能でそれを拡張しようとしています。ソースでOPを編集します。 –