如何在dhtmlx gantt中保存任务?

时间:2015-04-03 20:00:35

标签: javascript dhtmlx

我使用dhtmlx进行图表甘特图,我成功地保存了数据库中的任务,问题是当我添加新任务时图表中没有变化, 例如,如果我添加一个新任务,持续4天,它只显示一个单元格而不是四个单元格,也适用于其他属性。

这里是添加新任务的代码:

 <script type="text/javascript">

    gantt.init("gantt_here");   
    gantt.attachEvent("onLightboxSave", function(id, task, is_new){
    mnth = ("0" + (task.start_date.getMonth()+1)).slice(-2),
    day  = ("0" + task.start_date.getDate()).slice(-2);
    mnth = ("0" + (task.end_date.getMonth()+1)).slice(-2),
    day  = ("0" + task.end_date.getDate()).slice(-2);

   $.post("Control",{id:task.id,duration:task.duration,text:task.text,start_date:[ day,mnth,  task.start_date.getFullYear() ].join("-").toString()},function(data){

  alert(data);

  }) ;

 gantt.hideLightbox();
   });

</script>

1 个答案:

答案 0 :(得分:0)

尝试从onLightboxSave处理程序http://docs.dhtmlx.com/gantt/api__gantt_onlightboxsave_event.html

返回' true '

如果您返回“错误”或“未定义”(如您的情况),表单将保持打开状态,并且表单值不会应用于客户端

返回'true'将保存值并关闭表单,因此您无需手动调用hideLightbox

gantt.attachEvent("onLightboxSave", function(id, task, is_new){
   var dateToStr = gantt.date.date_to_str("%d-%m-%Y");

   $.post("Control",{
      id:task.id,
      duration:task.duration,
      text:task.text,
      start_date:dateToStr(task.start_date)
   },function(data){
      alert(data);
   }) ;

   return true;
});