0

我正在开发一个发票程序,我正在尝试使用 jquery 选择一行,但我无法完全弄清楚如何选择一行并在下面提取其内容是我的代码!请指教

注意:我刚刚添加了两行,但会有超过 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 回答