【问题标题】:Select box calling another element’s click event jquery选择框调用另一个元素的点击事件jquery
【发布时间】:2010-02-04 14:59:46
【问题描述】:

我的页面上有一个隐藏的 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>

【问题讨论】:

  • 我的 ASP.net 有点生疏了,有没有机会从浏览器端显示 HTML 的外观?
  • 你能在他的输出上做一个查看源代码,看看你得到了什么HTML

标签: jquery


【解决方案1】:

据我所知,它应该可以工作。

你能在你的文档准备函数中测试以下代码吗

alert($('[id$=AddSupplierButton]').length);

返回多少个对象?

【讨论】:

  • 那个选择器是一种奇怪的方式来找到按钮,所以我同意它闻起来很有趣(虽然它看起来没有错误对我来说)。
  • 是的,他这样做的原因是 .NET 分配给元素的 ID 很长。很确定有关于如何解决这个问题的帖子。
【解决方案2】:

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

&lt;asp:ImageButton ID="AddVerskaffer" OnClientClick="return(false);"/&gt;

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

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

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

现在它可以工作了。单击选择框时不会触发任何事件。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    相关资源
    最近更新 更多