这可能是一个非常简单的问题,但我已经尝试过查找,但必须遗漏一些显而易见的事情,jquery
对我来说是非常新的。
我正在努力让jquery
DateTimePicker
正常工作,但我一直遇到以下异常:
0x800a138f - Microsoft JScript runtime error: The value of the property '$' is null or undefined, not a Function object
这发生在我得到的代码上:
<script type="text/javascript">
$(function() {
$('#StartDateTime').datepicker();
$('#EndDateTime').datepicker();
});
</script>
Start和EndDateTime都是我放在View上的输入控件。
在我的脚本中,我有很多jquery引用,我认为这些引用有用,例如: jQuery的UI,1.8.24.js jQuery的UI,1.8.24.min.js jQuery的UI的timepicker-addon.js 的jquery-ui.min.js
我尝试在Global.asax.cs页面中添加时间选择器作为BundleConfig
的附加选项,但这也不起作用。
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include("~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include("~/Scripts/jquery.unobtrusive*","~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/jquery-ui-timepicker-addon").Include("~/Scripts/jquery-ui-timepicker-addon*")); // Added by me
}
显然我错过了什么,但我想不出来。任何人都可以发现任何非常明显的东西吗?
答案 0 :(得分:1)
在您的引用列表中,您缺少主jquery引用。它无法识别$
这一事实表明这是您的问题。添加它并在其他jquery脚本之上引用它(如果你已经拥有它,请确保它是第一个,因为所有其他jquery库将依赖它)。
答案 1 :(得分:0)
您需要添加对核心jquery库的引用 BEFORE ,您将引用添加到jquery-ui-timepicker-addon
。 像这样:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery-ui-timepicker-addon.js"));
原因是您的加载项在jquery核心库上有依赖,因此需要加载 AFTER 引用jquery核心库。