从多个表和构建列表中选择

时间:2014-06-19 10:11:33

标签: jquery

我问这个问题是Jquery的相对新手,

情景:

我有两张桌子: GridView1 & GridView2 非常相似,一个包含预期值,另一个包含实际值。

<div style="display: none;">
         <div>
    <table class="EU_DataTable" cellspacing="0" rules="all" border="1" id="GridView1" style="border-collapse:collapse;">
        <tbody><tr>
            <th scope="col">Day of Month</th><th scope="col">Expected Amount</th>
        </tr><tr>
            <td>1</td><td>R34&nbsp;627,00</td>
        </tr><tr>
            <td>2</td><td>R72&nbsp;474,00</td>
        </tr><tr>
            <td>3</td><td>R27&nbsp;084,00</td>
        </tr><tr>
            <td>4</td><td>R9&nbsp;268,00</td>
        </tr>
    </tbody></table>
</div>
    </div>

我已经针对这个问题缩短了它。

然后我Jquery运行此表GridView1,并选择first column作为日期,second column作为金额。我正在尝试构建一个日历,它会说on the 1st: This was expected: R50, This was Paid: R35(在一个列表项中)

var list = $("#thismonth");

            $("#GridView1 tr:has(td)").each(function () {

                var dayforLi = $(this).find("td:eq(0)");
                var amountforLi = $(this).find("td:eq(1)");

                list.append("<li class=cal>" + dayforLi.html() + "<p>Expected: " + amountforLi.html() + "</p></li>");

            });

这为我建立了我的列表,我后来将其设为日历。我遇到的问题是访问 GridView2 列并将其添加到构建我的列表的Jquery中。我尝试了很多东西,要么破坏我的Jquery,要么将第二个表中的每个项目添加到每个列表项中:(

希望我已经用这样的方式解释了这一点,你很容易知道我想要做什么。如果没有,请让我知道,并尝试深入挖掘更好的解释。

非常感谢, 麦克

1 个答案:

答案 0 :(得分:1)

试试这个jQuery:

var list = $("#thismonth");

$('#GridView1 tr').each(function(index){
  if(index!=0) // this condition to skip tr for header i.e. containing th elements
  {
    var dayforLi = $(this).find("td:eq(0)").html();
    var amountforLi = $(this).find("td:eq(1)").html();

    var actualAmount= $('#GridView2 tr:eq('+index+')').find('td:eq(1)').html();

    list.append("<li class=cal>" + dayforLi + "<p>Expected: " + amountforLi + "</p><p>Actual: " + actualAmount + "</p></li>");
  }
});

Working JSFiddle