0

請求書プログラムを開発していて、jqueryを使用して単一の行を選択しようとしていますが、行を選択してその内容を抽出する方法を正確に理解できませんでした。これが私のコードです。ご意見をお聞かせください

注:2行追加したばかりですが、100行を超えるため、各tdにIDを割り当て、そのIDを使用して呼び出すことは不可能だと思います。

 <table class="ProductSearch">
      <tr>
        <td>ID</td>
        <td>DESCRIPTION</td>
        <td>Qty</td>
        <td>PRICE</td>
        <td></td>
      </tr>
        <tr>
        <td>P1</td>
        <td>P1 Desc</td>
        <td>P1 Qty</td>
        <td>P1 Price</td>
        <td><img src="select.jpg" alt="select" class="select" /></td>
      </tr>
        <tr>
        <td>P2</td>
        <td>P2 Desc</td>
        <td>P2 Qty</td>
        <td>P2 Price</td>
        <td><img src="select.jpg" alt="select" class="select" /></td>
      </tr>
    </table>


$(".select").live('click', function(event) {
    var rselect;
    rselect = $(this).parent().parent().index();
$('.ProductSearch tr').each(function()
    {
      console.log($(this).html());
    });   
});
4

1 に答える 1

1

あなたは方法を試すことができますclosest()

$(".select").on('click', function(event) { // use `on()` as `live()` is deprecated
    var rselect;
    rselect = $(this).closest('td');
    console.log(rselect.html());
});

http://jsfiddle.net/NftQj/


アップデート:

tdの要素を繰り返し処理する場合は、次のtrように試すことができます。

$(".select").on('click', function(event) { // use `on()` as `live()` is deprecated
    var rselect;
    rselect = $(this).closest('tr');
    rselect.find('td').each(function(){
       console.log($(this).html());
    })
});

http://jsfiddle.net/NftQj/2/

于 2012-06-30T15:01:58.377 に答える