2011-12-16 70 views
1

此代碼在.aspx頁面中正常工作沒有問題。但如果我使用母版頁然後沒有任何工作正常在這裏,Jquery腳本不能在主頁面中工作

我試着將主頁中的JQuery腳本,即使沒有任何工作。有沒有什麼設置需要在這裏完成。

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title>Untitled Page</title> 
    <script src="jquery-1.6.2.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() 
    { 
    $('#<%= CheckBox1.ClientID %>').change(function() 
    {  
    if($(this).is(':checked')) 
    {  
     $("#divControlGroup").css("display", "block"); 
     $("#ddlcounty option:first").attr("selected", true); 
     } 
    else 
     { 
    $("#divControlGroup").css("display", "none"); 
    } 
     }) 
     }); 
    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <table> 
     <tr> 
      <td> 
       <asp:CheckBox ID="CheckBox1" runat="server" Checked="false" /> 
      </td> 
      <td> 
       <div id="divControlGroup" runat="server"> 
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
        <asp:DropDownList ID="ddlcounty" runat="server"> 
         <asp:ListItem Value="0">Select</asp:ListItem> 
         <asp:ListItem Value="1">India</asp:ListItem> 
         <asp:ListItem Value="2">US</asp:ListItem> 
         <asp:ListItem Value="3">UK</asp:ListItem> 
        </asp:DropDownList> 
       </div> 
      </td> 
     </tr> 
    </table> 
    </form> 
</body> 
</html> 

任何幫助,將appreicated

感謝

+1

你能描述你看到的錯誤嗎?主頁面上的jQuery文件「jquery-1.6.2.min.js」`的路徑有可能不正確嗎? – 2011-12-16 13:24:58

回答

4

改變你的母版的腳本參考使用ResolveUrl(),把你的腳本中正在使用的ContentPlaceHolder

<script src='<%= Page.ResolveUrl("~/jquery-1.6.2.min.js")' type="text/javascript"></script> 

//script related to the specific page needing ClientID refs 
<asp:Content ID="Content2" ContentPlaceHolderID="Content" Runat="Server" > 
    <script>....</script> 
</asp:content> 
4

如果你使用母版頁(和內容佔位符),如: $("#divControlGroup")將無法​​正常工作。您需要在代碼中使用clientID,就像您之前所做的那樣。

內容佔位符被添加到ID中,這就是它不匹配的原因。