2010-04-13 43 views
0

我有以下表了jQuery找出以前的元素

<table> 
<tr class="ligneI"> 
<td class="col2b"><input type="text" id="desc" class="calcule"></td> 
<td class="col2b"><input type="text" id="price" class="calcule"></td> 
<td class="calculated_price">220.00</td> 
<td class="calculated_price">1800.00</td> 
<td><a title="" class="picto06 deleteLink" id="deleteLink1" href="#" onclick="resetfields(this);">delete</a></td> 
</tr> 
<tr class="ligneI"> 
<td class="col2b"><input type="text" id="desc" class="calcule"></td> 
<td class="col2b"><input type="text" id="price" class="calcule"></td> 
<td class="calculated_price">87.00</td> 
<td class="calculated_price">40.00</td> 
<td><a title="" class="picto06 deleteLink" id="deleteLink2" href="#" onclick="resetfields(this);">delete</a></td> 
... 

,我想重置整個當我刪除點擊鏈接。

我試圖做這樣的事情:

function resetfields(obj) 
{ 
    $(this).parent().prevAll('td.calcule').html('&nbsp;'); 
    $(this).parent().prevAll('td input.calcule').val(''); 
} 

但只有前行抹去前兩befor我的鏈接。 有人可以幫助我。

PS:請原諒我的英語

+0

它通常被認爲是很好的做法,你的Javascript從完全分離的標記(就像從CSS分離標記一樣)。在這種情況下,你可以在你的Javascript代碼中綁定'onclick'處理程序,如下所示:'$('a.deleteLink')。click(resetFields);' – 2010-04-13 15:13:48

回答

2

試試這個:

$(this).closest('tr').find('td.calculated_price').html('&nbsp;'); 
$(this).closest('tr').find('td input.calcule').val(''); 
+0

謝謝! 這很好 – mike 2010-04-14 08:24:37

1

請試試這個:

$(this).parent().parent().find('td.calculated_price').html(""); //doing parent().parent() to get to TR 
$(this).parent().parent().find('td.calcule').val(""); 

HTH

+0

謝謝, 此代碼很棒 $(this 。).parent()父()找到( 'td.calculated_price')的html( 「」)。 ())。().parent()。parent()。find('tdinput.calcule')。val(「」); – mike 2010-04-14 08:25:35