TypeError:$ .datepicker未定义

raj*_*eev 3 javascript jquery

我的javascript有代码,对于我网站上的其中一个页面:

$('#nmdt1').datetimepicker({
        dateFormat: $.datepicker.ATOM,
        minDate: nmsdt,
                  ...
                  ...
Run Code Online (Sandbox Code Playgroud)

这个运行正常,当加载id ="nmdt1"的页面时.并且我只在加载该页面时加载相关的datetimepicker js库(模块).到现在为止还挺好.

但是当我在我的网站上加载任何其他页面时,我得到了这个错误:从定义了dateformat的行号.

编辑:这是firebug日志的正确错误:

TypeError: $.datepicker is undefined
http://myswbsite/jscript/myjsscript.js
Line 569
Run Code Online (Sandbox Code Playgroud)

第569行是:

dateFormat: $.datepicker.ATOM,
Run Code Online (Sandbox Code Playgroud)

是的,这个错误只出现在我没有加载相关的js代码的页面上(jquery-ui-timepicker-addon.js).我没有在每个页面上加载这个js的原因是,我只在一页上需要它.

更多细节:

在lib加载后的HTML标题中(在seq中)

<head>
    <script src="/jscript/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script src="/jscript/myjsscript.js" type="text/javascript"></script>
...
...
    <script type="text/javascript">
    jQuery(document).ready(function(){
        var mid = "[% mid %]";
        alert('mid='+mid);
        $(".bvmainmenu #"+mid).css({"background":"url(/images/current-bg.gif) top left repeat-x", "color":"#ffffff"});
    });
    </script>
</head>
Run Code Online (Sandbox Code Playgroud)

每次没有加载jquery-ui-timepicker-addon.js lib时,你在上面看到的最后一个javascript代码(标题的底部)都没有运行(你在firebug中看到错误 - 我可以忍受错误,但为什么会这样最后一个代码没有运行,我不确定).我无法理解为什么这个例程不会因为我没有加载一个'附加'库而运行

运行所有内容的页面正确加载BODY中的js脚本

<script src="/jscript/jquery-ui-1.8.21.custom.min.js" type="text/javascript"></script>
<script src="/jscript/jquery-ui-timepicker-addon.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

在此页面上,您在标题中看到的最后一个JavaScript代码也会加载并显示警报!

我很难想到这一点.

Aru*_*hny 7

您是否在应用程序中包含了jQuery UI.

<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.22/jquery-ui.min.js"></script>
Run Code Online (Sandbox Code Playgroud)