Я перезагружаю содержимое таблицы с помощью Ajax и использую ListJs для поиска и сортировки, а также кнопки для «обновления» содержимого, такого как вкладка (не вкладка), основная идея - сделать одну <td>
редактируемойесли пользователь нажимает на него, он работает с dinamicHtml
(см. код), но если я переключаюсь на другие вкладки, я не могу редактировать содержимое <td>
, даже если вернусь на предыдущую вкладку.Вот мой код, первый для создания редактируемого контента в качестве ввода (потому что я хочу сохранить / загрузить редактирование на сервер), второй - Ajax, который загружается каждый раз, когда пользователь нажимает «кнопку / вкладку», это:
$('.tabs__menu li.unpublised').click(event => {
ajaxFunction('URL');
});
И, наконец, настройки для ListJs.
var dinamicHtml = function(){
this.insertInput = function($parent, type, className){
var value = $parent.text();
$parent.empty();
var input = $('<input type="' + type +'" class="' + className +'" value="' + value +'" />');
$parent.append(input);
$parent.find('input').focus();
};
this.removeInput = function($input){
var value = $input.val();
if ($input.hasClass('price-editor')) {
$input.parent().attr('data-value', value);
}
$input.parent().html(value);
};
}
function ajaxFunction(url) {
$('.tab-container').empty();
let loading = new loadingOverlay('Cargando productos...');
$.ajax({
url: url,
type: 'GET',
}).done(function(resp) {
$('.tab-container').html(resp);
loading.unload();
let productList = new List('low-turnover', options);
});
}
const options = {
valueNames: ['name', 'id', 'category', 'cost'],
};
let productList = new List('low-turnover', options);