从表的特定行更改值

时间:2012-10-13 15:48:14

标签: jquery

我想更改表格中的特定行,但是还有另一个<span>。我想更改第一个范围中的值。

我的代码如下:

<table id="mytable">
<tr>
    <th>Book_ID</th>
    <th>Title</th>
    <th>Price</th>
    <th>Qty</th>
    <th>Total</th>
</tr>
<tr>
    <td>A001</td>
    <td>my book</td>
    <td>10000</th>
    <td>
            <span>3</span>
            <span><a>delete</a></span>
            <span>
              <a href=# title="plus_qty"><img src="quantity_up.gif"></a>
            </span>
            <span>
              <a href=# title="minus_qty"><img src="quantity_down.gif"></a>
            </span>
    </td>
    <td>30000</td>
</tr>
</table>

<span title="plus_qty">中不删除<span title="minus_qty"><span><td>,我可以获取并更新数值。我的代码没有删除元素:

<table id="mytable">
<tr>
    <th>Book_ID</th>
    <th>Title</th>
    <th>Price</th>
    <th>Qty</th>
    <th>Total</th>
</tr>
<tr>
    <td>A001</td>
    <td>my book</td>
    <td>10000</th>
    <td>3</td>
    <td>30000</td>
</tr>
</table> 

jQuery代码:

var row = $('#mytable').find('td');
for(i=0;i<row.length;i++){
   if(row.eq(i).text() == 'A0001'){
       row.eq(i+3).text(parseInt(row.eq(i+3).text())+1);
   }
}

1 个答案:

答案 0 :(得分:1)

试试这个:

var row = $('#mytable').find('td');
for(i=0;i<row.length;i++){
   if(row.eq(i).text() == 'A0001'){
       ch = row.eq(i+3).children(':first-child');
       ch.text(parseInt(ch.text())+1);
   }
}

请注意可能的拼写错误,在您的html代码中<td>A001</td>,但在您的javascript中搜索A0001这是一个不同的值,在我自己确定上述代码后。