Jquery从td中选择产品

时间:2011-02-05 01:01:37

标签: jquery select html-table

我的表格如下(简化):

<table id="product_table">
    <tbody>
        <tr>
            <th>Product</th>
            <th>Action</th>
        </tr>

        <tr rel="1">
            <td>Product Name 1</td>
            <td class="select_product">[SELECT]</td>
        </tr>

        <tr rel="2">
            <td>Product Name 2</td>
            <td class="select_product">[SELECT]</td>
        </tr>

        <tr rel="3">
            <td>Product Name 3</td>
            <td class="select_product">[SELECT]</td>
        </tr>
    </tbody>
</table>  

我希望能够将click事件绑定到其中的td /或内容(尚未决定),并在调用函数'view_product'时使用父tr的rel(产品ID)中包含的id为了论证。

我尝试了一堆组合,但我没有到达任何地方。

任何指针?


解决方案

$('td.select_product').bind('click', function() {
    var id = $(this).parent().attr("rel");
    $.select_product(id);
});

生成表行后放置。我不确定多次绑定它是最好的解决方案,但它确实有效。

2 个答案:

答案 0 :(得分:3)

  

我希望能够将点击事件绑定到 td /或其中的内容(尚未确定)并使用 id 为了论证,调用函数“ view_product ”时包含在 tr的 rel (产品ID)中。

您的语言(或多或少)转换为jQuery语法:

$("td.select_product").click(function(){
    var id = $(this).parent().attr("rel");
    view_product(id);
});

如果使用delegate()动态创建项目,请尝试使用此绑定点击事件:

$("#product_table").delegate(".select_product", "click", function(){
    var id = $(this).parent().attr("rel");
    view_product(id);
});

答案 1 :(得分:0)

$('td.select_product').bind('click', function() {
    var id = $(this).parent().attr("rel");
    $.select_product(id);
});

在动态生成表行之后放置。

我不确定多次绑定它是最好的解决方案,但它确实有效。