我想从ludo修改jquery.TreeTable.js以使用cell.find方法来设置扩展。

这是原始来源:

if(options.expandable) {
      cell.prepend('<span style="margin-left: -' + options.indent + 'px; padding-left: ' + options.indent + 'px" class="expander"></span>');
      $(cell[0].firstChild).click(function() { node.toggleBranch(); });


这是我想要的(有点):

        if(options.expandable) {
      cell.find('.expander').click(function(){
          node.toggleBranch();
        });


我想我很近但是还不在那里...

原始源文件:Jquery.TreeTable.js

最佳答案

答案是要重写整个库...从头开始,因为cubePhase树表最终由于各种原因而受到限制。在这一点上,我有自己的烘焙解决方案,效果很好。

脚本示例:

if (children <= 0) {
        $(this).addClass('no-children');
    } else {
        if ($(this).hasClass('expander')) {
            $(this).bind('click',function() {
                if ($(this).hasClass('collapsed')) {
                    expandchildrenbranches($(this));
                    $(this).removeClass('collapsed');
                } else {
                    collapsechildrenbranches($(this));
                    $(this).addClass('collapsed');
                }
            });

        } else {
            $(this).find('.expander').bind('click',function() {
                var row = $(this).parents('tr:first');

                if (row.hasClass('collapsed')) {
                    expandchildrenbranches(row);
                    row.removeClass('collapsed');
                } else {
                    collapsechildrenbranches(row);
                    row.addClass('collapsed');
                }
            });
        }

09-18 19:21