我的页面上有一个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>
答案 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>
现在它有效。单击选择框时不会触发任何事件。
为什么你认为会发生这种情况?