![](/img/trans.png)
[英]jQuery UI Datepicker getDate returns today's date on invalid date
[英]jquery ui datepicker getDate returns Object instead of Date
我可能在这里缺少一些简单的东西,但是我在使用jQuery ui datepicker时遇到了麻烦。 似乎只是返回通用对象而不是Date对象,这不是我期望的。 这是代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<link type="text/css" href="jquery_ui/css/custom-theme/jquery-ui-1.8.14.custom.css" rel="stylesheet" />
<script type="text/javascript" src="jquery_ui/js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="jquery_ui/js/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript">
Date.prototype.addHours= function(h){
this.setHours(this.getHours()+h);
return this;
}
$(function() {
$( "#startdatetime" ).datepicker(
{
onSelect: function(dateText, inst) {
sd = $( "startdatetime" ).datepicker( 'getDate' );
sd.addHours(10);
}
});
});
</script>
</head>
<body >
<input id="startdatetime" type="text">
</body>
</html>
我得到的异常是“ sd.addHours不是函数”,使用萤火虫似乎getDate给了我错误的对象(而不是Date)。
我对javascript或jquery不太熟悉,有人知道为什么会这样吗?
您在内部jquery表达式中缺少井号。 在任何情况下,您实际上都不需要再次定位该对象,因为该实例作为inst传递到了函数中。
addHour本机JavaScript Date类中有一个方法(请参阅http://www.w3schools.com/jsref/jsref_obj_date.asp )。
您可以做的是下面的代码:
Date.prototype.addHours = function(amount) {
return new Date(this.getTime() + (amount * 60 * 60 * 1000));
}
$("#datepicker").datepicker("getDate").addHours(10);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.