2013-04-20 100 views
1

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

这里是一个的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

'tr's应与'table'和'tbody'标签包裹。由于ID是唯一的,你应该使用一个简单的ID选择器而不是'nearest'方法,'nearest'选择最接近的父亲,http://jsfiddle.net/Tzq3S/ – undefined 2013-04-20 06:16:35

回答

0

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

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

请看看这个工作的例子。

http://jsfiddle.net/vLAQj/

+0

你的答案与undefined不同吗? – Santosh 2013-04-20 06:27:37

+0

是的,是R $ 10,00 – Memochipan 2013-04-20 06:28:31

+0

@Santosh,请查看jsFiddle上的链接。 – Memochipan 2013-04-20 06:29:26

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