2011-10-10 2 views
2

여기에 간단한 내용이 누락되어 있지만 jquery ui datepicker에 문제가 있습니다. 그것은 마치 예상했던 것과 다른 Date 객체 대신 일반 객체를 반환하는 것처럼 보입니다. 여기에 코드입니다 :jquery ui datepicker getDate가 Date 대신 Object를 반환합니다.

<!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 나에게 잘못된 객체 (안 날짜)를주고있다처럼 불을 지르고를 사용하여이 보인다.

저는 자바 스크립트 나 jquery에 익숙하지 않습니다. 왜 이런 일이 일어나는지 알고 있습니까?

답변

4

내부 jquery 표현에서 파운드 기호가 누락되었습니다. 어떤 경우에도 객체를 다시 찾을 필요는 없습니다. 인스턴스가 inst로 함수에 전달되기 때문입니다.

+0

아하는, 나는 그런 바보 같은 것을 알고 있었다. 고맙습니다. – WildCrustacean

1

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);