JQuery:迭代2个特定单元格的表行

时间:2012-05-22 22:16:08

标签: javascript jquery

我是一个全面的JQuery新手,过去两天我一直在研究这个问题,但我的大脑现在已经炒了。

这就是我所拥有的:

具有一定行数的表格(如在线商店的购物车)

我不想要最后一行(因为它包含购物车总额)而且我不想要第一行(这是列标题)

这就是我想要的:

在文档加载时,我想浏览该表的每一行(除了第一列和最后一行)并抓取(例如)第一列和最后一列,将这些值传递给Web服务,并让Web服务返回要放在该行的另一列文本框中的值

表结构如下:

<table id="blahzayblahgrdItems">
<tbody>
<tr>
<td>product</td>
<td>req.ship date</td>
<td>est.ship date(input textbox)</td>
<td>price</td>
<td>qty</td>
<td>subtotal</td>
</td>
</tbody>
</table>

我正在尝试从Product列和QTY列中获取值以传递给webservice并填充EST。发货日期列,包含从Web服务返回的内容

在代码中,我尝试了类似

的内容
$(function()
{
var partID;
var qty;

$("table[id*=grdItems] tbody tr").each(function() {})
)

但是,我将实际数量和产品传递给我的网络服务。我已经尝试了不同的代码变体并抛出一个警告框来查看返回的内容但是我看到了标题,表格数据,完整的表格数据等等。任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

为要解析的每一行设置一个类,并执行以下操作:

var partID = $("tr.some_class td")[4].text();
var qty = $("tr.some_class td")[5].text();

答案 1 :(得分:0)

我认为将一个类(如info)放在第一行和最后一行(特别是样式)上会更容易一些,并执行以下操作。

使用jsfiddle的json echo:

更新了jsfiddle和工作示例

http://jsfiddle.net/lucuma/fNwvX/3/

// add a class to first and last tr to make formatting a little nicer as well
$('#blahzayblahgrdItems tr:first,#blahzayblahgrdItems tr:last').addClass('info');
// loop over each one except the ones with class
$('#blahzayblahgrdItems tr:not(.info)').each(function() {
    var $prod = $('td:eq(0)', this);
    var $sub = $('td:eq(5)', this);

    var result = $prod.text() + '-' + $sub.text();     // do your ajax with these values
    $.get('ajax/test.html', function(data) {
      $prod.text(data.val1);  // depends on your system
      $sub.text(data.val2);   // depends on your system
    });



});​