我想从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');
}
});
}