2013-07-18 2 views
0

이것은 사용중인 코드이며이 링크를 클릭하면 볼 수 있습니다. http://jsfiddle.net/fGq5w/1/ 버튼을 클릭하면 날짜가 변경됩니다. 그러나 시간도 표시됩니다. 버튼을 클릭 할 때 하나의 날짜 만 표시하는 방법.검도 datepicker는 시간이 지남에 따라 긴 형식으로 날짜를 표시합니다.

HTML 코드

 <input id="myDatePicker" data-bind="value: currentDate" /> 

     <h2>Current Date is:<strong data-bind="text: currentDate"></strong></h2> 

     <input type='button' value='change Date' onclick='changeDate();return false;' /> 

자바 스크립트

var vm = { 
    currentDate: ko.observable() 
}; 


$(function(){ 

ko.applyBindings(vm); 

$("#myDatePicker").kendoDatePicker(); 

}); 

function changeDate() 
{ 
alert('ok'); 
vm.currentDate(new Date(2014,1,1)); 

} 

답변

0
Your Code with additional functionality to pre-fill the date TextBox. 

    var vm = { 
     currentDate: ko.observable(kendo.toString(new Date(),'MM/dd/yyyy')) 
    }; 


$(function(){ 

    ko.applyBindings(vm); 

    $("#myDatePicker").kendoDatePicker(); 

}); 

    enter code here 

function changeDate() 
{ 
    alert('ok'); 
    vm.currentDate(kendo.toString(new Date(2014,1,1),'MM/dd/yyyy')); 

} 
0

: 그냥 검도의 날짜 형식 도구를 사용하여 날짜를 포맷 기능을 수동으로 끔찍하게 이상적이지 않습니다 :

(아래의 snipper에서 나는 date.pas를 분석하기 위해 moment.js를 사용하고 있습니다 만, 전자 검도의 날짜 파서 - 그것은 특정 ISO 형식의 날짜와 함께 작동하지 않지만) 클라이언트 측의 ViewModel에서

ko.extenders.stripTime = function (target) { 
    var result = ko.pureComputed({ 
     read: target, 
     write: function (value) { 
      if (value) { 
       target(moment(value).format(shell.getDateFormatString())); 
      } 
      else { 
       target(value); 
      } 
     } 
    }).extend({ notify: 'always' }); 

    result(target()); 

    return result; 
}; 

, 당신의 관찰에 확장 적용 : 내가 사용하지 않는 것이 좋습니다

self.SomeDateProperty = ko.observable().extend({ stripTime: null }); 

ko.toJS kendo datepicker를 사용할 때 observables에서 자바 스크립트 객체를 가져 오려고 할 때 - 대신 ko.mapping을 사용하십시오 (JS 라이브러리를 별도로 다운로드해야 함).

var someJavascriptObject = ko.mapping.toJS(viewModel);