2017-07-20 14 views
1

最近私は自分のプロジェクトで剣道スケジューラーを使用しています。そこから私はイベント追加を使用しています。 デフォルトでは、スケジューラから時刻を取得すると、開始時刻と終了時刻が自動的に設定されます。開始時刻と終了時刻の差は常に30分です。 Example image is given hereどのように変更できますか?

私の要件によると、私はこの差を1時間に変更したいと思います。

この違いは設定できません。助けてください。

答えて

1

私はあなたのポイントを正しく得ることを望む、これはあなたがそれを行う方法です。

  1. 私はisNew
  2. は、開始と終了のDateTimePicker
  3. は、現在のイベントのstartTimeを取得し、それを修正し得れば、私は追加して、あなただけの新しいイベントでこれをやってみたかった賭け
  4. 編集機能を使用しますこの場合、私は1時間を追加しました
  5. 新しい値を持つウィジェットを設定しました
  6. 実際にイベント時刻を変更することなく、今度はuiを変更するだけなので、e.event.endを変更してください「終了」データセットimepicker保存された時間は正しいでしょう。ここで

編集機能コードです:ここで

edit: function(e){ 
    if(e.event.isNew){ 
     var start = e.container.find("[name=start][data-role=datetimepicker]"); 
     var end = e.container.find("[name=end][data-role=datetimepicker]"); 
     var startTime = new Date(e.event.start); 
     var endTime = new Date(startTime); 
      endTime.setHours(startTime.getHours() + 1); 
     $(start).data("kendoDateTimePicker").value(startTime); //set start date to the current date and time 
     $(end).data("kendoDateTimePicker").value(endTime); //set enddate to the current date and time 

     //this line needed, since the event time is still only 30 minutes. if you remove this, upon saving if you didnt touch the datetimepicker (leave as it) then it will save only 30 minutes while it showing 1 hour 
     e.event.end = endTime; 
    } 

working example

+0

であなたをhimawan_r感謝。この解決策は私のために働いている –

+0

うれしい –

関連する問題