繁体   English   中英

jQuery UI Datepicker getDate返回Object而不是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM