datepicker undefined不是一个函数

时间:2014-05-04 22:00:23

标签: jquery asp.net

我正在asp.net中创建一个应用程序,我正在使用DataList。我想在我的应用程序中添加datepicker(jquery)。我创建了MasterPage2并添加了javascripts和css

<link rel="stylesheet" href="css/layout-admin.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="css/jquery-ui.css" type="text/css" media="screen" />
    <script src="js/jquery-1.10.2.js" type="text/javascript"></script>
    <script src="js/jquery-ui.js" type="text/javascript"></script>
    <script src="js/jquery-1.5.2.min.js" type="text/javascript"></script>

    <script src="js/hideshow.js" type="text/javascript"></script>
    <script src="js/jquery.tablesorter.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="js/jquery.equalHeight.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
                $(function () {
                    $("#txtData").datepicker({
                        showButtonPanel: true
                    });
                });
            $(".tablesorter").tablesorter();
        });

来自AddArtikulli.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddArtikull.aspx.cs" Inherits="AddArticle" MasterPageFile="~/MasterPage2.master" %>
 <asp:Label ID="lblData" runat="server" style="font-weight: 700">Data e Publikimit</asp:Label>
                <fieldset>
                    <asp:TextBox  ID="txtData" runat="server"></asp:TextBox>                   
                </fieldset>

它在控制台中显示此错误:

  

未捕获的TypeError:undefined不是函数

5 个答案:

答案 0 :(得分:3)

您在jQuery UI之后再次包含jQuery,因此每个插件都绑定到jQuery,并且$ alias(如jQuery UI)也将被删除。

删除第二个jQuery核心包括:

<script src="js/jquery-1.5.2.min.js" type="text/javascript"></script>

您不需要多次包含jQuery。

答案 1 :(得分:0)

使用fiddler或类似工具确保您的脚本正确加载。删除doubled脚本是正确的。另外看一下bootstrap,你可以找到datepickre控件。

答案 2 :(得分:0)

我在我的MVC Web应用程序中遇到同样的问题并在发现$(&#34; #txtData&#34;)。datepicker()在加载jquery和jquery ui脚本之前执行后解决它。

我在部分视图中使用$(&#34; #txtData&#34;)。datepicker()作为Date的模板。 并且发现使用此局部视图的上层视图在文档末尾有脚本部分。

我已将此脚本移动到我视图的脚本部分,并在加载jquery包之后将其放入: @ Scripts.Render(&#34;〜/束/ jqueryval&#34)
$(&#34;#txtData&#34)。日期选择器()

答案 3 :(得分:0)

$(document).ready(function () {
   $("#<%= txtData.ClientID %>").datepicker({
             showButtonPanel: true
   });
   $(".tablesorter").tablesorter();
});

您必须将&#39; ClientID&#39; 添加到文本框ID选择器,因为TextBox是服务器控件。同时删除任何一个版本的jquery库。

答案 4 :(得分:0)

如果你绝对确定你的$(“#div-id”)被定义了,也就是说,它有一个类似[...]的值,那么它可能意味着你有一些冲突的jquery。 / p>

尝试在页面加载时将其添加到代码中:

$ noConflict(真);