如何动态地为表中的匹配行分配相同的值

时间:2014-08-20 19:18:32

标签: javascript jquery

我有一个包含多行的表,其中一行或多行具有相同的源数据属性。 我需要遍历所有这些行,并将属于匹配组的最小公分母分配给与该特定数据源匹配的每一行,以便:

<table>
 <tr data-start="1"><td>one</td><td>2014-04-01</td></tr>
 <tr data-start="2"><td>two</td><td>2014-11-23</td></tr>
 <tr data-start="1"><td>three</td><td>2014-03-13</td></tr>
 <tr data-start="3"><td>four</td><td>2014-06-02</td></tr>
 <tr data-start="1"><td>five</td><td>2014-03-08</td></tr>
</table>

所以在上表中匹配是第1,3和5行。我需要为所有匹配分配最低日期

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:1)

如果我理解,你想为所有data-start =“1”设置相同的值?

为什么不在jQuery中使用this solution

$('tr[data-start="1"]').html("<b>Your content</b>");

答案 1 :(得分:0)

this你想要做什么?

$(document).ready(function () {
    var table = $('#test');
    var output = $('#output');
    var minNumber = table.find('tr').first().data('start');
    table.find('tr').each(function () {
        minNumber = Math.min($(this).data('start'), minNumber);
    });

    //get current date
    var dt = new Date();
    dt = dt.getFullYear() + "-" + dt.getMonth() + 1 + "-" + dt.getDate();

    table.find('tr[data-start=' + minNumber + ']').each(function () {
        $(this).children().last().html(dt);
    });

    output.append(minNumber);
});

编辑:哦,我没有读过所有比赛的最低日期&#34;正确,但更改此代码来做到这一点应该是相当微不足道的 还有一个编辑:忘了找到最低的数字,添加了