【问题标题】:jQuery Datepicker() on a ASPX pageASPX 页面上的 jQuery Datepicker()
【发布时间】:2015-02-23 13:16:29
【问题描述】:

完全不知道为什么这不起作用......我收到的错误是:

0x800a01b6 - JavaScript 运行时错误:对象不支持属性或方法“datepicker”

Master.master

<head id="head1" runat="server">
    <script src="js/jquery-1.10.2.js"></script>
    <script src="js/jquery-ui.js"></script>

    <script language="javascript">
        $(function () {
            $("#ctl00_cphMain_txtExpDate").datepicker();
        });
    </script>
</head>

Page.aspx

<asp:TextBox ID="txtExpDate" runat="server" Visible="true" ReadOnly="false"></asp:TextBox>

当页面加载时,我立即收到 JavaScript 错误。但是当我查看源代码时,一切看起来都很好:

从浏览器查看源代码

<input name="ctl00$cphMain$txtExpDate" type="text" id="ctl00_cphMain_txtExpDate" />

它在 JSFiddle 中运行没有错误,甚至显示选择器弹出窗口。是什么导致了错误?这是一个 C# ASP.NET Web 应用程序。

JSFiddle - http://jsfiddle.net/ncojuu21/

【问题讨论】:

  • JavaScript 错误...可能来自其他 js 代码。
  • 我猜你需要从头部删除这个runat="server"
  • @ArunprasanthKV 它是一个 asp:TextBox,在页面加载时呈现为常规 HTML 输入类型。
  • @Jai 我不能没有头部中的 runat="server" 因为它需要使用 Title 标签,这是必需的。
  • 好的……谢谢你的澄清

标签: javascript c# jquery datepicker


【解决方案1】:

您必须使用&lt;script type="text/javascript"&gt; 而不是&lt;script type="javascript"&gt; 调用脚本。 将$("#ctl00_cphMain_txtExpDate") 替换为$("#&lt;%=txtExpDate.ClientID%&gt;")

【讨论】:

  • 解决方案看起来不错,但我不能使用 txtExpDate.ClientID,因为我的应用程序使用 MasterPage 并且脚本位于此 MasterPage 的头部。控件 txtExpDate 位于另一个 ASPX 页面中,该页面包含在 MasterPage...
  • 使用特定的 Css 类作为选择器而不是控件 ID 怎么样??
  • 也许可以,但如果没有 CSS 选择器,它不应该工作吗?我认为第一篇文章中的尝试比 CSS 选择器更简单。然而,我可能是错的。可以举个例子吗?
  • $(".echancier-date").datepicker({ changeMonth: true, changeYear: true, numberOfMonths: 1, dateFormat: "dd/mm/yy", onClose: function (selectedDate) { $(this).parent().find('.echancier-date').datepicker("option", "defaultDate", selectedDate) } }); 我的文本框如下:&lt;asp:TextBox Id="EchancierdateID" runat="server" CssClass="echancier-date"/&gt;
  • 尝试使用您的示例函数并将 asp:TextBox 提供给您的 CssClass 但错误仍然相同。
【解决方案2】:

这个错误是因为我的 MasterPage 有重复的 jQuery 引用。删除一个引用时问题已解决,现在 .datepicker() 工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多