我能夠將數據綁定到表並使用列標題進行排序。如何使用knockoutjs映射插件將數據綁定到表上?
但是,我需要能夠編輯數據,以便更新並反映在相應的表格單元格中。爲此,我需要使數據對象爲observable
。
而是結合這樣的,用文字結合:
<tbody data-bind="foreach: countries">
<tr>
<td data-bind="text: name"></td>
<td data-bind="text: capital"></td>
<td data-bind="text: population"></td>
</tr>
</tbody>
我需要使用value
或textInput
綁定來綁定。像這樣:
<tbody data-bind="foreach: countries">
<tr>
<td><input data-bind="value: name" /></td>
<td><input data-bind="value: capital" /></td>
<td><input data-bind="value: population" /></td>
</tr>
</tbody>
而不是這樣做:
$.getJSON('https://restcountries.eu/rest/v1/all', function(data){
self.countries(data);
});
我這樣做:
$.getJSON('https://restcountries.eu/rest/v1/all', function(data){
var mappedData = ko.mapping.fromJS(data);
var array = mappedData();
self.countries(array);
});
如果我試圖映射使用插件的數據,排序不工作。
如何將數據映射爲可觀察數據並仍然具有對它們進行排序的功能?
這裏是一個工作JSFiddle example:注意:我刪除了映射,因爲它打破了代碼。
感謝我的朋友:我刪除了上面的幾行,因爲在映射JSON數據時Sort不起作用。我不想發佈不起作用的代碼。我如何使用映射的數據,仍然有排序的能力? – Asynchronous
我編輯了我的答案,包括排序修復。 – Adrian
非常感謝你的朋友! – Asynchronous