2015-05-28 44 views
0

我在我的頁面中有一個購物袋,我想用pinCollection()和pinpin解開這個包。爲此,我使用「修復」類,但我的解決方案不起作用。當我點擊輸入按鈕時,「修復」類被添加到李元素,但是當我再次點擊輸入按鈕時,「修復」類將不會被刪除。請幫幫我。謝謝。toggleClass()不適合我嗎?

我的.aspx:

<ul class="menu"> 
<li>...</li> 
<li>...</li> 
<li>...</li>  
<li class="dropdown right transition"> 
    <a href="#" class="dropdown-toggle"> 

    </a> 
    <asp:UpdatePanel ID="UpdatePanel3" runat="server"><ContentTemplate> 
     <div class="grid-container5"> 
      <div class="dropdown-inner form"> 
       //my Shopping bag 
      </div> 
      <input id="pin" type="submit" name="pin" value="" class="pin" /> 
     </div> 
    </ContentTemplate></asp:UpdatePanel> 
</li> 
</ul> 

我的jquery:

$(function() { 
    $("#pin").click(function() { 
     $(".menu li.dropdown").toggleClass("fix"); 
    }); 
}); 
+0

你的代碼工作正常:[http://jsfiddle.net/5zw7L0aL/](http://jsfiddle.net/5zw7L0aL/)。打開控制檯並檢查它。 – kosmos

+1

哦,aspx,讓這段代碼在一個表單裏面。正如@BorshonAeolusSaydur在他的回答中所說的,將輸入的類型改爲按鈕。 – kosmos

回答

1

那是因爲你使用的輸入型= submit..make按鈕就可以了它會工作...每次點擊提交按鈕它將頁面提交回CS頁面並回發。當回發時aspx頁面無法重新綁定jQuery事件,因此在回發之後您看不到它的工作。 如果你製作輸入類型的按鈕,它不會回發並按照它應該做的那樣完成它的工作。

+1

同意@Borshon。在這種情況下,Jquery語句沒有時間運行,因爲Submit是單擊發布到服務器的頁面並重新加載到其原始狀態。我會將代碼更改爲: Yuri