从HTML表中获取单元格值

时间:2012-11-26 09:53:47

标签: javascript jquery html-table

我有这样的表结构;

"<td>",
    "<table class='ead' name=\""+i+"\" id=\""+x+"\" border='0'>",
        "<tr id='e'>",
            "<td class='estimate' name=\""+i+"\" id=\""+x+"\">0</td>",
        "</tr>",
        "<tr id='a'>",
            "<td class='actual' name=\""+i+"\" id=\""+x+"\">"+keyVal[key]+"</td>",
        "</tr>",
        "<tr id='d' >",
            "<td class='difference' name=\""+i+"\" id=\""+x+"\">"+day_total+"</td>",
        "</tr>",
    "</table>",
"</td>"

您可以看到<td>标记,因为它嵌套在另一个表中。在父表中有5列但可能有数百行。子表中只有1列,只有3行。

我有一个允许我编辑<td>行估算值的函数;

$(document).on("click", ".estimate", function() {
var myName = parseInt($(this).attr("NAME"));
var myId = parseInt($(this).attr("ID"));

$('.estimate').editable(function(value, settings) { 
    console.log(value);
    return(value);
 },
 {type      : 'textarea',
     //cancel    : 'Cancel',
     event     : 'dblclick',
     //submit    : 'OK',
     indicator : '<img src="images/indicator.gif">',
     tooltip   : 'Double-click this value to edit...',
     width     : '40px',
     height    : '21px',
     onblur    : 'submit'
 });
});

此工作正常,新值将发布到表中。问题是我需要用新值进行计算;所以我需要得到实际值并将差异(实际 - 新估计)发布到差异中。

我无法获得实际的独特价值。 id = x和name = i是将数据发布到表中的循环值的位置。

任何帮助表示赞赏!!

克里斯

1 个答案:

答案 0 :(得分:0)

没关系,一点结构改变得到了它......而不是一个循环值我给了它自己唯一的索引,每次出现递增1。一旦我有了这个,我可以通过该值引用每个标签。

"<td class='estimate' name=\""+IdIndex+"\" id=\"estimate"+IdIndex+"\">0</td>",

然后我就做了总结;

IDVal = $(this).attr("ID");
NameVal = parseInt($(this).attr("NAME"));
$('.estimate').editable(function(value, settings) { 
    myActual = "#actual"+NameVal;
    myDiff = "#diff"+NameVal;
    $($(myDiff)).text(value - $(myActual).text());
    return(value);