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

时间:2010-02-04 11:02:53

标签: jquery drop-down-menu

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

坦克提供任何帮助。

  

<%@ Page Language =“C#”%>                  

    $().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> 
     

  

2 个答案:

答案 0 :(得分:0)

我建议

if( $('#elemet').is(':visible') ) { do this }
   else { do that }

答案 1 :(得分:0)

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

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

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

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

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

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

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