2010-03-24 98 views
1

我想在我的网页中实现JQuery,但我无法成功实现它。JQuery不工作

我有一个母版页

在那里我增加了一个脚本,对于已经使用谷歌

托管的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

ddmenu_open和ddmenu_timer函数的定义在哪里? – curtisk 2010-03-24 19:49:06

+0

@curtisk:它们的定义在同一个脚本标签内。我只是在这里删除它,使代码更具可读性。 JQuery的那部分运行正常 – 2010-03-24 19:51:24

+0

您是否试图将click事件添加到由更新面板动态加载的元素? – R0MANARMY 2010-03-24 19:52:35

回答

1

我已经使用jQuery和UpdatePanels两种方法。

首先是这样的: jQuery $(document).ready and UpdatePanels?

其他的方法,我在里克施特拉尔的博客上发现(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()事件订阅。

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> 
+0

我用它像这样 2010-03-24 19:48:34

+1

在你上面的代码你有另一个。但它仍然不起作用 – 2010-03-24 20:06:06

1

检查您的按钮的ID实际上并没有得到改变为类似

ctl00_ContentPlaceHolder1_lnkAddMore 

因为它驻留在内容占位符母版页。

如果是这样,你必须调整你的JQuery。

+0

@Lester没有名字没有改变。我已将按钮作为HTML控件使用 – 2010-03-24 20:03:06

+0

只是为了确保:我编辑了我的评论以表示“ID”而不是“名称”。 – LesterDove 2010-03-24 20:04:19

+0

在使用UpdatePanel时是否有其他方式调用JQuery – 2010-03-24 20:04:26