1

我有这样的表结构;

"<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 是将数据发布到表中的循环值的位置。

任何帮助表示赞赏!

克里斯

4

1 回答 1

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);
于 2012-11-26T11:15:54.160 回答