これまでのところ、この問題の解決策を見つけることができませんでした。メイン リストで数量ボックスが変更されたときに、集計テーブルを作成しようとしています。現在の私のコードは次のとおりです。
<div class="mainItems">
<ul data-bind="foreach: finalListItems">
<li> <input class="qty" data-bind="value: qty, valueUpdate: 'afterkeydown'" size="4"/><label data-bind="text: item" ></label></li>
</ul>
</div>
<div>
<table>
<thead>
<tr>
<th>Item</th>
<th>Quantity</th>
</tr>
</thead>
<tbody data-bind="foreach: finalListItems">
<tr>
<td data-bind="text: item"></td>
<td data-bind="text: qty"></td>
</tr>
</tbody>
</table>
</div>
そしてViewBox:
function sortedListItem(qty, listItemName) {
var self = this;
self.qty = ko.observable(qty);
self.item = listItemName;
}
var trialViewModel = function(){
var self = this;
self.availableListItems = [
{itemName: "Here is Item 1"},
{itemName: "Here is Item 2"},
{itemName: "Here is Item 3"},
{itemName: "Here is Item 4"},
{itemName: "Here is Item 5"}
];
self.finalListItems = ko.observableArray([
new sortedListItem(ko.observable.qty, self.availableListItems[0].itemName),
new sortedListItem(ko.observable.qty, self.availableListItems[1].itemName),
new sortedListItem(ko.observable.qty, self.availableListItems[2].itemName),
new sortedListItem(ko.observable.qty, self.availableListItems[3].itemName),
new sortedListItem(ko.observable.qty, self.availableListItems[4].itemName)
]);
};
ko.applyBindings(trialViewModel());
ここには JSFiddle も含まれているので、私が何をしようとしているのかがわかります。
問題は、数量ボックスが変更された場合にのみ、概要にアイテムを表示することです。可視性バインディングを配列内の個々の項目に結び付けることができず、このようなものはまだ見たことがありません。助言がありますか?