使用jQuery的甘特图

时间:2010-11-23 08:59:06

标签: jquery jquery-ui gantt-chart

http://jsfiddle.net/JeaffreyGilbert/VkghS/

目前,可以通过拖动barWrap(灰色)来完成行之间的排序。可以通过拖动条来移动甘特条。

我想要的是排序和移动可以通过拖动栏一次完成。怎么做到这一点?

任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:6)

可排序小部件具有句柄功能。所以:

$(function() {
    $( ".gantt" ).sortable({
        handle: '.bar' // Make it sortable by dragging the .bar instead of the container
    });
    /*
    $( ".bar" ).draggable({
        connectToSortable: '.gantt',
        containment: '.barWrap',
        grid: [20, 0]
    });
    */
    $( ".bar" ).resizable({
        handles: 'e, w',
        grid: [ 20, 0 ]
    });

    $(".gantt").disableSelection();
});

已编辑(请参阅评论):您必须取出可拖动的,IMO并不是那么糟糕,因为人们仍然可以使用resizable来改变位置。您可以尝试使用可拖动的句柄来查找它们都可以工作的方法。

答案 1 :(得分:0)

这是一个老问题,但你只需要添加另一个div包装器来实现这个目标(jsfiddle):

$(function() {
    $('.barWrap').wrapInner('<div class="sorter"></div>');
    $( ".gantt" ).sortable({
        handle: '.sorter'
    });

    $( ".bar" ).resizable({
        handles: 'e, w',
        grid: [ 20, 0 ]
    });

    $(".gantt").disableSelection();
});