Я использовал этот подход (https://dotnetfiddle.net/UjxtUW) для создания динамической таблицы в представлении MVC.Установить значение ячейки таблицы на основе индекса с помощью jQuery
Клетки в таблице имеют текстовое поле, а некоторые значения текстовых полей заполняются через диалоговое окно интерфейса jQuery. Код, чтобы открыть соответствующее диалоговое окно,
$("#invItemsTable").on('click', 'td', function() {
var cIndex = $(this).index();
var $tr = $(this).closest('tr');
rowIndex = $tr.index();
if (cIndex == 7)
$("#dlAccCode").dialog("open");
else if (cIndex == 0)
$("#mdGrnList").dialog("open");
else if (cIndex == 5)
$("#dlTaxCode").dialog("open");
});
Когда пользователь выбирает запись в диалоговом окне, код этой конкретной записи устанавливаются на значение ячейки таблицы с помощью,
$("#AccCodeTable").delegate("input[type='radio']", "change", function(){
var $this = $(this);
$('#invItemsTable [id$=txtAccCode]').slice(rowIndex).val($this.val());
$('#dlAccCode').dialog("close");
});
проблема в том, что в таблице есть 5 строк, и если я изменю «КОД» 3-й записи, то 4-й и 5-й также будут обновлены с тем же значением.
Этот код не работает.
$('#invItemsTable tr:eq(' + rowIndex + ') td:eq(5)').val($this.val());
Советуйте, если есть какой-либо способ установить значение текстового поля, используя индекс столбца и индекс строки таблицы.
Спасибо.
Это немного кх udge. Это может сработать, но его код был близок и чище, он просто немного не хватало. Это вводит зависимости от его структуры HTML. – AlienHoboken
Это примерно пример его третьего кода. Я предложил «nth-child», потому что «eq» - индекс, основанный на 0, а «nth-child» начинается с 1. Может быть, ты прав, его просто что-то не хватает. –
Ах, не видел эту часть. Виноват! :) – AlienHoboken