我正在尝试在我的网页中实现JQuery,但我无法成功实现它。
我有一个母版页
我添加了一个已经使用Google托管的jquery的菜单栏的脚本
这是在母版页本身中编码的
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
现在我想实现一个Jquery来将css visibility属性设置为true或false。
进入同一母版页的content page
。
<script type="text/javascript">
$(document).ready(function(){
$("#lnkAddMore").click(function(){
alert();
}
);
});
</script>
此html控件位于我的UpdatePanel
下。
我不知道为什么它不起作用?
我在UpdatePanel下使用此控件。
<input type="button" id="lnkAddMore" value="Add More" />
我试图在更新之外使用它 面板它运行成功但是 不在UpdatePanel
我认为使用UpdatePanel
时出现问题这是我的页面来源
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<link href="../../Css/Domain.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function(){
$("#lnkAddMore").click(function(){alert();$('#h').hide(100);});
$('#h').show(100);
});
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="divDomain" runat="server">
<asp:gridview/>
<div style="text-align:right;">
<input type="button" id="lnkAddMore" value="Add More" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
答案 0 :(得分:4)
你真的有嵌套<script>
标签还是错字?
<script type="text/javascript">
<script type="text/javascript">
如果那不是拼写错误,那么这可能是个问题。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#ddmenu > li').bind('mouseover', ddmenu_open)
$('#ddmenu > li').bind('mouseout', ddmenu_timer)
});
$(document).bind('click', ddmenu_close); // do you really want to close on any click?
</script>
答案 1 :(得分:1)
检查按钮的ID实际上是否未实际更改为
ctl00_ContentPlaceHolder1_lnkAddMore
因为它位于母版页的内容占位符中。
如果是,你必须调整你的JQuery。
答案 2 :(得分:1)
我使用了jQuery和UpdatePanels的两种方法。
首先是: jQuery $(document).ready and UpdatePanels?
我在Rick Strahl博客上发现的另一种方法(http://www.west-wind.com/Weblog/posts/154797.aspx)在后面的代码中做了类似的事情:
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "alertScript",
@" $(document).ready(function(){
$("#lnkAddMore").click(function(){
alert();
}
);
});", true);
另请参阅另一个示例:Problem with ScriptManager.RegisterClientScriptBlock and jQuery in Internet Explorer 8
另请查看jQuery的live()事件订阅者。
答案 3 :(得分:0)
当您在UpdatePanel下加载代码时,请尝试不将其包装在$(document).ready();
中。对于AJAX事件,document
不会触发就绪。