1

我想更改表中的特定行,但还有一些其他<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>我可以获取和更新 qty 值。这是我的代码而不删除元素:

<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);
   }
}
4

1 回答 1

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是不同的值,在我自己修复了上面的代码之后。

于 2012-10-13T15:54:09.373 回答