选择框调用另一个元素的click事件jquery

时间:2010-02-04 14:59:46

标签: jquery

我的页面上有一个div隐藏了:AddSupplier,我的页面上有一个按钮,如果它不可见,则必须显示div,但如果div可见则相同的按钮会保存一些内容。所有这一切都在起作用,但在这个AddSupplier div中有一个选择框“ddSupplierTypes”,当点击选择框时,AddSupplierButton点击事件会被触发,为什么会这样,是否有解决方法?

坦克提供任何帮助。

<%@ Page Language="C#" %>  
<html> 
     <head runat="server"> 
     <script src="Scripts/jquery-1.4.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 

     $().ready(function() { 
         $('#AddSupplier').hide(); 
         $('[id$=AddSupplierButton]').click(function() { 
             if ($('#AddSupplier').is(':visible')) { 
                 //do this 
                 alert('event fired'); 
             } else { 
                 //do that 
                 $('#AddSupplier').show(); 
             } 

             return false; 
         }); 
     }); 

 </script> </head> <body> 
 <form id="form1" runat="server"> 
 <div id="wrapper"> 
 <asp:ImageButton ID="AddSupplierButton" runat="server" Height="18px"  
 ImageUrl="~/images/add.png" OnClientClick="return(false);"/> 
 </div> 
 <div id="AddSupplier"> 
     <select id="ddSupplierTypes"> 
     <option value="S">ss</option> 
     <option value="F">kk</option> 
     <option value="W">oo</option> 
     <option value="P">ii</option> 
     </select> 
 </div> 
 </form>     
</body> 
</html>

2 个答案:

答案 0 :(得分:1)

它应该尽我所能。

您可以在文档就绪功能

中测试以下代码吗?
alert($('[id$=AddSupplierButton]').length);

返回多少个对象?

答案 1 :(得分:0)

我试图简化上面的代码,但忘了提到我正在使用母版页。所以在我的母版页面上我得到了这个图像按钮控件

<asp:ImageButton ID="AddVerskaffer" OnClientClick="return(false);"/>

我在jQuery中调用'[id$=AddSupplierButton]',因为母版页将控件名称更改为某个长ID。

现在我用普通链接替换了asp图像按钮

<a id="AddVerskaffer" href="javascript:void(0);"  ></a>

现在它有效。单击选择框时不会触发任何事件。

为什么你认为会发生这种情况?