2013-08-26 51 views
0

早些時候,對不起,如果我的英語不好JQuery的切換一行時選擇和更改文本

我有一個撥動其他行的問題,我想選擇一個行和另一行是隱藏的。 當選擇的行被選中時,我想要改變選擇取消的div(就像點擊一個按鈕,顯示另一個按鈕的值爲cancel)。如果我點擊取消按鈕,它回到更早。 隱藏另一行是成功的,但更改div /按鈕/等是主要問題。 請任何人知道解決方案?

謝謝你。

這裏的HTML

<table> 
<tr> 
    <td> 
     <div class="choose"><a href="#" class="pick">Choose 1</a> 
     </div> 
     <div class="cancel" hidden><a href="#" class="poke">Cancel 1</a> 
     </div> 
    </td> 
</tr> 
<tr> 
    <td> 
     <div class="choose"><a href="#" class="pick">Choose 2</a> 
     </div> 
     <div class="cancel" hidden><a href="#" class="poke">Cancel 1</a> 
     </div> 
    </td> 
</tr> 
<tr> 
    <td> 
     <div class="choose"><a href="#" class="pick">Choose 3</a> 
     </div> 
     <div class="cancel" hidden><a href="#" class="poke">Cancel 3</a> 
     </div> 
    </td> 
</tr> 

jQuery代碼我寫

$('.pick').click(function() { 
$(this).closest('tr').siblings('tr').toggle('slow');}); 

回答

0

我希望我理解你想要做什麼,如果不是,請讓我知道。

您需要添加隱藏當前行中「選擇」按鈕的代碼,並取消隱藏取消按鈕容器。

$('.pick').click(function() { 
    $(this).closest('tr').siblings('tr').toggle('slow'); 
    $(this).parent().toggle();   // Hide the "choose" button container 
    $(this).parent().next().toggle(); // Show the "cancel" button container 
}); 

您還需要做出「取消」按鈕,返回一切到初始狀態,就像這樣:

$('.poke').click(function() { 
    $('tr').show();   // Show all table rows 
    $('.choose').show(); // Show all the "choose" button containers 
    $('.cancel').hide(); // Hide all the "cancel" button containers 
}); 

這是你想要做什麼? http://jsfiddle.net/VRAa9/4/

+0

哇,謝謝你現在工作。但我可以問一下「parent()」嗎?上面代碼中的這個函數是什麼? –

+1

.parent()返回直接包含當前匹配元素的元素。例如,在您的HTML代碼中,「Choose 1」的父代是'

'。下面是jQuery網站上的.parent()文檔:http://api.jquery.com/parent/ – Sadiq

+0

哦,我明白了,所以「parent()」是這個標籤嗎?真? –