2015-05-28 62 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