单击按钮动态获取td的值

时间:2013-04-20 06:09:12

标签: jquery

当我点击ID为'btnRemover'的按钮时,我需要从<td id='itemCadaPreco'>获取值:。

这是一个jsFiddle:http://jsfiddle.net/6APAx/

<tr id='itemCada'>
    <td id='itemCadaId'>1</td>
    <td>descrição aqui</td>
    <td id='itemCadaQtd'>12</td>
    <td id='itemCadaPreco'>R$ 10,00</td>
    <td>R$ 12000,00</td>
    <td style='width: 15px;'><button id="btnRemover">X</button></td>
</tr>


$(function(){
    $("#btnRemover").click(function(){        
        alert($(this).closest("#itemCadaPreco").text());
    });
});

修改 这个将在循环中动态生成,并且id“itemCadaPreco”将重复,因此点击时的呼叫ID将不起作用,我们需要使用类似“最近”之类的东西。 谢谢!

2 个答案:

答案 0 :(得分:2)

你可能想要的是

$(function(){
    $("#btnRemover").click(function(){        
        alert($(this).closest("tr").find('#itemCadaPreco').text());
    });
});

演示:Fiddle

我假设它是一个列表,其中重复相同的tr结构,然后我们遇到问题,因为你将有多个具有相同id的元素。元素的id在页面中应该是唯一的,因此我建议您将所有id属性更改为class

<table id="tblItemData">
    <tr class='itemCada'>
        <td class='itemCadaId'>1</td>
        <td>descrição aqui</td>
        <td class='itemCadaQtd'>12</td>
        <td class="itemCadaPreco">R$ 10,00</td>
        <td>R$ 12000,00</td>
        <td style='width: 15px;'><button class="btnRemover">X</button></td>
    </tr>
</table>

$(function(){
    $('#tblItemData').on('click', '.btnRemover', function(){
        alert($(this).closest("tr").find('.itemCadaPreco').text());
    });
});

演示:Fiddle

答案 1 :(得分:0)

您需要将行放在<table>标记内。

您只需使用alert($("#itemCadaPreco").text());

请看这个有效的例子。

http://jsfiddle.net/vLAQj/