У меня есть проект счета Джанго, который имеет фоновый с продуктами, производителем и т.д.Получения данных из динамически добавляемых строк таблицы
В настоящее время существует законопроект таблица со столбцами заголовков: ID продукта, название продукта , Цена продукта, количество продукта, налоги, всего и т. Д.
С помощью кнопки добавления строки пользователи могут добавлять строки для следующего продукта (то есть динамически добавленные строки).
Теперь я хочу связать jQuery event-listener с каждым столбцом идентификатора продукта (т.е. если у меня есть 5 строк для 5 продуктов, каждая строка должна иметь столбец идентификатора продукта), так что, когда пользователь вводит (и редактирует) идентификатор продукта, я могу - с помощью AJAX - заполнить остальные столбцы.
Мое сомнение в том, как это сделать.
Также, как я возвращаю данные AJAX, как определить строку для добавления данных (название продукта, цена продукта и т. Д.)?
EDIT 1
Я генерации динамических строк с помощью следующего кода:
function generateTableRow() {
var emptyColumn = document.createElement('tr');
emptyColumn.innerHTML = '<td><a class="cut">-</a><span class="itemcode" contenteditable></span></td>' +
'<td colspan="2"><span contenteditable></span></td>' +
'<td><span contenteditable>100.00</span></td>' +
'<td><span contenteditable></span></td>' +
'<td><span contenteditable></span></td>'+
'<td><span contenteditable></span></td>' +
'<td><span contenteditable></span></td>'+
'<td><span contenteditable></span></td>' +
'<td><span contenteditable></span></td>' +
'<td><span contenteditable></span></td>' ;
return emptyColumn;
}
Обратите внимание, что первый пролет имеет класс: "Артикул"
Это мой JQuery код :
$("#inventory_table .itemcode").on("focus", function(){
alert("On focus for table inventory called.");
alert($(this).text());
});
идентификатор таблицы является "Inventory_table".
Этот прослушиватель событий jquery не связан с динамически сгенерированными строками.
Любая помощь приветствуется.
Благодаря
Пожалуйста, посмотрите на моем редактировании, кажется, есть какой-то вопрос. Запросите вашу помощь – Sayantan
Я не думаю, что диапазон может получить «фокус». Если вы создаете диапазон contenteditable, почему бы просто не использовать '' вместо этого? См. Этот jsfiddle для примера: https://jsfiddle.net/c9keLynn/ – omnichad
Я просто проверил с помощью ввода, но он не работает. И пробел получает фокус-размытие. В фокусе, за которым следует размытие, заменяется на изменение (которое может использоваться только для входов). Чтобы связать с динамически создаваемыми элементами, я просто вызвал именованную функцию - чья работа заключается в добавлении слушателя событий (вторая часть моего кода) при каждом добавлении новой строки. – Sayantan