Anil Chaudhari
Anil Chaudhari

Reputation: 841

How to get id of tr after clicking its td's element?

I have a tr column, like this. Then how can I get the tr's id using jquery after clicking Update having id "quick-update-order-product"

<tr id="product-id-<?=$product->product->id;?>">            
        <td><span class="product_price_show"></span></td>
        <td><span><?=  $product->product_qty; ?></span></td>
        <td><span><?= $product->product->stock->qty; ?></span></td>
        <td><span><?=  $product->total_price_tax_incl; ?></span></td>
        <td>
            <a class="quick-update-order-product">Update</a>                
        </td>            
</tr>

Thanks in advance.. :)

Upvotes: 5

Views: 8402

Answers (3)

I&#39;m Geeker
I&#39;m Geeker

Reputation: 4637

Use this Closest()

$('.quick-update-order-product').click(function() {
    var trId = $(this).closest('tr').attr('id');
});

Upvotes: 1

Rory McCrossan
Rory McCrossan

Reputation: 337714

Firstly, if this row is repeated you should use a class on the button, not an id, as duplicate id properties are invalid.

<tr id="product-id-<?=$product->product->id;?>">            
    <td><span class="product_price_show"></span></td>
    <td><span><?=  $product->product_qty; ?></span></td>
    <td><span><?= $product->product->stock->qty; ?></span></td>
    <td><span><?=  $product->total_price_tax_incl; ?></span></td>
    <td>
        <a class="quick-update-order-product">Update</a>                
    </td>            
</tr>

Once you've got the class on the button you can use closest() to find the tr:

$('.quick-update-order-product').click(function() {
    var trId = $(this).closest('tr').prop('id');
});

Upvotes: 8

Milind Anantwar
Milind Anantwar

Reputation: 82251

You can use:

$('td a').click(function(){
  alert($(this).closest('tr').attr('id'));
});

Upvotes: 3

Related Questions