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>、数量値を取得および更新できます。これは要素を削除せずに私のコードです:

<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>が、あなたのjavascriptA0001では、上記のコードが機能することを自分で修正した後、異なる値を検索します。

于 2012-10-13T15:54:09.373 に答える