Я могу привязывать данные к таблице и сортировать, используя заголовки столбцов.Как упорядочить привязку данных к таблице с помощью плагина отображения 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: Примечание: я удалил отображение, так как он разрывает код.
Спасибо моему другу: Я удалил вышеуказанные строки, потому что Sort не работает, когда данные JSON отображаются. Я не хотел публиковать код, который не работает. Как использовать сопоставленные данные и по-прежнему иметь возможность сортировки? – Asynchronous
Я отредактировал свой ответ, чтобы включить исправление для сортировки. – Adrian
Большое спасибо моему другу! – Asynchronous