Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 返回未捕获类型错误的日期选择器:未定义';当前日期';_Jquery Ui_Twitter Bootstrap_Datepicker - Fatal编程技术网

Jquery ui 返回未捕获类型错误的日期选择器:未定义';当前日期';

Jquery ui 返回未捕获类型错误的日期选择器:未定义';当前日期';,jquery-ui,twitter-bootstrap,datepicker,Jquery Ui,Twitter Bootstrap,Datepicker,我一直在使用jQueryUI和引导,我似乎遇到了一个以前从未遇到过的问题。我不知道发生了什么变化;我尝试过设置不同版本的jQuery,但同时没有更新jQuery UI。所以我不确定是什么坏了 当我单击datepicker中的任何日期时,控制台中的错误返回: Uncaught TypeError: Cannot set property 'currentDay' of undefined 这段代码相当简单,正如人们从日期选择器中所期望的那样: $(".datepicker").datepick

我一直在使用jQueryUI和引导,我似乎遇到了一个以前从未遇到过的问题。我不知道发生了什么变化;我尝试过设置不同版本的jQuery,但同时没有更新jQuery UI。所以我不确定是什么坏了

当我单击datepicker中的任何日期时,控制台中的错误返回:

Uncaught TypeError: Cannot set property 'currentDay' of undefined 
这段代码相当简单,正如人们从日期选择器中所期望的那样:

$(".datepicker").datepicker({
dateFormat: 'dd-mm-yy'
}); 
使用以下HTML:

<input type="text" class="datepicker" />


这是一个应该报告的bug(因为没有其他Google匹配出现),还是我错过了其他什么?

我找到了解决方案。经过长时间的调试,我发现有一个
具有完全相同的
ID
,高于输入字段。因此,脚本获取第一个包含
ID
的实例,并选择
DIV
而不是
输入
字段


我删除/重命名了
DIV,它又正常工作了。

上面的jQuery datepicker错误通常是由具有相同ID的重复控件引起的,不管您是使用ID还是其他选择器(如css类或字段名)来实例化它。

我也有此错误。我发现在表单的其他地方,我有一些与表单输入ID不匹配的标签“for”属性,这似乎也可能会混淆datepicker。一旦我把它们修好,一切正常,错误就消失了。接受Andreas的建议(+1!)并验证您的表单-Chris Pedrick的Web Developer工具栏为您提供了一种在运行时进行验证的简单方法

可能是两个输入框,它们具有相同的类,但没有不同的id,并且您正在尝试使用日期选择器。如果有,请给出两个不同的id,它将工作。

放置一个选择器

<script>  $("#formID #duplicatedId").datepicker({language: 'he'});
</script>
$(“#formID#duplicatedId”).datepicker({语言:'he'});
FormID:包含输入的表单的Id


duplicatedId:输入元素的Id。

我也遇到了这个问题,我100%确定我没有使用重复的Id。 经过一些调试后,我发现了一个原因——我使用了DataTables mod,它复制了tfoot的内容,从而创建了datepicker元素的精确副本。我在tfoot行中输入了这个日期选择器

修复了以下问题:

table.find("TFOOT").find("TR:first").remove();
在table.DataTable(..)之后调用


这删除了所有内容的原始零高度行

在我的例子中,我从一个div中针对一个隐藏的输入字段触发datepicker,getPos(a)导致变量“a”上出现一条未定义的消息。我尝试将隐藏的输入字段移到div之外,结果成功了。请注意,jQuery无论在哪里都可以找到输入字段,所以这不是问题所在,而是定位问题。希望这对其他人有所帮助。

我通过为HTML DOM对象创建新ID解决了这个问题。有重复的Id。
尝试为HTML DOM对象添加新ID。

我认为可能与jQuery UI的日期选择器和boostrap的日期选择器存在冲突,我建议您选择一个并从js文件中删除另一个。这是一个很好的选择,但不幸的是,我只在jQuery 1.7.1和jQuery UI 1.9.2中使用引导CSS。我现在没有使用引导UI。我发现如果使用ID而不是ID,则会出现错误。class@BjornSchijff我只有在使用时才遇到这个问题。在普通的HTML页面中,datepicker非常有效。这可能意味着您的数据表正在重用datepicker,它需要一个唯一的ID。有时将页面放入HTML验证程序中非常有用!:)非常感谢这是100%的工作,但我改变了2个小时对这个错误,终于找到了你的解决方案谢谢你比约恩!这完全奏效了。在我的例子中,它是一个具有相同id的标签。这正是重点。不要在datepicker中使用ID,使用自定义css类名。我在popover中使用datepicker时遇到了这个问题。@tod birdsall&others,我在这里链接了同样的问题。我尝试了很多解决方案,比如不同的id、类等。不管怎样,这个问题甚至在2017年这个原始线程发布4年后就出现了。这是datatable或jquery UI的错误吗?奇怪的是,若我试图在输入控件中创建name属性,它会在页面中再次复制。错误不可避免地发生。这个问题有解决的办法吗。我正在使用最新版本的datatable和jQueryUI。