に更新されたときに、テーブル、私はここでの問題の例を作成しました更新されません実証するために公開Webサービスを指すように調整されています。KnockoutJS配列が
基本的には私はバインドする配列を持っていますが、ajax呼び出しの後ではテーブルには更新された情報が表示されません。私は何が不足しているのかわからない、私はマッピングプラグインが必要だったと思ったので、私はそれを試みたが、まだどこにもいない。
確かに、データが変更されるたびにバインディングを適用するつもりはありませんか?
[EDIT]
以下のJavaScript:
var ViewModel = function() {
var self = this;
self.items = ko.observableArray([]);
self.refresh = function() {
$.ajax({
type: "POST",
url: "http://api.wipmania.com/json",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
ko.mapping.fromJS(data.d, self.items.address);
}
});
};
}
var viewModel = new ViewModel();
$(function() {
ko.applyBindings(viewModel);
viewModel.refresh();
});
下記のHTML:
<table data-bind="visible:items.length > 0">
<thead>
<tr>
<th>Country</th>
<th>Code</th>
</tr>
</thead>
<tbody data-bind="foreach: items">
<tr>
<td data-bind="text:country"></td>
<td data-bind="text:country_code"></td>
</tr>
</tbody>
</table>
申し訳ありませんが、私は自分のコードを貼り付けるのに使っていましたが、JSFiddleの例はいつも尋ねられました。今私は両方を含めるよ。 - 編集され、修正されました。 – JustinN
この行には '.address'がありますか? 'ko.mapping.fromJS(data.d、self.items.address);' – Niko
良いことです。ええ、コピーと貼り付けは最高です(人々が何度も頻繁に再入力するのを驚かせます)。)、* adjunct *(私はhttp://jsbin.comが好きですが、好みの問題です)としてのライブリンクは素晴らしいです。 –