2010-03-24 154 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