jquery устанавливает innerHTML для ячейки в таблице

Я хочу напечатать значение в каждой ячейке таблицы после ее динамического создания.

<table id="MapDetails"><tr>
<td/><td/><td/><td/>
var colIndex = 4;
foreach(MapDetail geMapDetail in Model.mapDetails)
{    
<td class="test">
       <script>{getPosition(@geResult.assessmentId, @colIndex, @rowIndex, '@geResult.ResultValue');}</script>
</td>
colIndex++;
}
</tr></table>

Мой сценарий

ЭТО НЕ РАБОТАЕТ

function getPosition(id, colIndex, rowIndex, resultValue) {

    var element = '#' + id;
    var cell = $('#MapDetails tr:eq(' + rowIndex + ') td:eq(' + colIndex + ')');
     if($(element).index() == colIndex){
        cell.innerHTML = resultValue;
     }

}

ЭТО РАБОТАЕТ ТОЛЬКО ДЛЯ ПЕРВОЙ ЯЧЕЙКИ

function getPosition(id, colIndex, rowIndex, resultValue) {

    var element = '#' + id;
    var cell = $(".test").closest('tr').find('td').get(colIndex);
     if($(element).index() == colIndex){
        cell.innerHTML = resultValue;
     }

}

person Samra    schedule 16.03.2017    source источник
comment
Вы даете разные идентификаторы всем ячейкам?   -  person Yasin Patel    schedule 16.03.2017
comment
@YasinPatel tds не имеет имени класса или идентификатора в данной разметке.   -  person Jai    schedule 16.03.2017
comment
создание его динамически......Как вы это делаете?   -  person Jai    schedule 16.03.2017
comment
td имеет тест имени класса в разметке, которую я дал выше ‹table id=MapDetails›‹tr›‹td class=test›   -  person Samra    schedule 16.03.2017
comment
этот td находится в forloop, я редактирую код, чтобы показать... это очень урезанная версия фактического кода, чтобы прояснить мой вопрос   -  person Samra    schedule 16.03.2017


Ответы (2)


Это в основном проблема алгоритма. Вы должны перебрать все TR и вложенные TD и записать то единственное значение, которое хотите записать.

$('#tableid').find('tr').each(function(index, element){

  $(element).find('td').each(function(indexd, elementd){

    $(elementd).html('blah blah');

 });

});
person Mukesh    schedule 16.03.2017
comment
что здесь подразумевается под элементом? в моем элементе кода полностью отличается от ячейки. также я присутствую внутри самого td, когда я вызываю свою функцию getPosition, поэтому обход каждый раз не кажется хорошей идеей... я пробовал $(this).parent().children('td').get(colIndex) но даже это не работает - person Samra; 16.03.2017
comment
пожалуйста, задайте вопрос правильно. Я ответил на ваш вопрос. Я хочу напечатать значение в каждой ячейке таблицы после его динамического создания. - person Mukesh; 16.03.2017