【问题标题】:jquery set innerHTML for a cell in tablejquery为表格中的单元格设置innerHTML
【发布时间】:2017-03-16 05:06:51
【问题描述】:

我想在动态创建后在每个表格单元格中打印一个值。

<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;
     }

}

【问题讨论】:

  • 你给所有单元格分配不同的 id 吗?
  • @YasinPatel tds 在给定的标记中没有任何类名或 id。
  • 动态创建它。.....你是怎么做到的?
  • td 在我上面给出的标记中有一个类名 test
  • 这个 td 在一个 forloop 中,我正在编辑要显示的代码。这是一个非常精简的实际代码版本,可以让我的问题更清楚

标签: javascript jquery closest


【解决方案1】:

这主要是一个算法问题。您必须遍历所有 TR 和嵌套 TD 并写入您要写入的那个值。

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

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

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

 });

});

【讨论】:

  • 这里的元素是什么意思?在我的代码元素中与单元格完全不同。当我调用我的 getPosition 函数时,我也在 td 本身内部,所以每次遍历似乎都不是一个好主意......我已经尝试过 $(this).parent().children('td').get(colIndex)但即使这样也行不通
  • 请正确提问..我回答了你的问题“我想在动态创建后在每个表格单元格中打印一个值”
【解决方案2】:

我在这里找到了答案:How to set table cell value using jquery

所以我做到了:

var cell = $("#MapDetails").children().children()[rowIndex].children[colIndex];

就是这样!干杯

【讨论】:

    猜你喜欢
    • 2010-11-01
    • 1970-01-01
    • 2011-10-22
    • 2017-02-12
    • 2011-08-03
    • 2013-06-23
    • 2015-08-05
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多