Javascript在asp.net内容页面中不起作用

时间:2014-09-13 05:47:00

标签: javascript asp.net

我正在尝试在内容页面的文本框中显示javascript日期时间选择器,该文本框是从母版页派生的,但日期时间选择器未显示。
    这是我的内容页面:
    

<link rel="stylesheet" href="Datepicker.css">
<script src="https://code.jquery.com/jquery.js"></script>
<script src="Datepicker.js"></script>
<script>
$(document).ready(function() {
    $('#dp').datepicker();
});
</script>
<script>
$(document).ready(function() {
    $('#dp1').datepicker();
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:Label ID="Label1" runat="server" Text="From"></asp:Label>&nbsp;
    <input id="dp" type="text" runat="server"/>&nbsp;
    <asp:Label ID="Label2" runat="server" Text="To"></asp:Label>&nbsp;
    <input id="dp1" type="text" runat="server" />&nbsp;
    <asp:Button ID="Button1" runat="server" Text="Search" onclick="Button1_Click" />
<asp:GridView ID="gvdetails" runat="server">
</asp:GridView>
</asp:Content>

注意:这在没有母版页的情况下有效,但是当我在内容页面中添加它时,它不起作用。请帮助

2 个答案:

答案 0 :(得分:2)

当通过IIS提供ASP时,所有runat="server"元素都会被赋予唯一的名称。

要查找此名称,请使用<%= %>语法和对象的ClientID。在你的情况下,它将是:

$('#<%=dp1.ClientID%>').datepicker();

或者,您可以将元素设置为使用静态名称。

<input id="dp1" type="text" runat="server" ClientIDMode="Static" />

(但不要两者兼顾)

答案 1 :(得分:0)

开箱即用。

使其简单配对 - 使用Html5中的DateTime

<form>
  Birthday (date and time):
  <input type="datetime" name="bdaytime">
</form>