2013-04-20 187 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