jquery实现自定义树形表格的方法【自定义树形结构table】-创新互联

本文实例讲述了jquery实现自定义树形表格的方法。分享给大家供大家参考,具体如下:

成都创新互联-专业网站定制、快速模板网站建设、高性价比昌江网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式昌江网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖昌江地区。费用合理售后完善,十载实体公司更值得信赖。

话不多说,直接上代码(本代码仅提供思路):

function createTables(data, t, p) {
    $("#datatable" + t + ' tbody').empty();
    var count = data.length;
    var html = '';
    if (count > 0) {
      for (var i = 0; i < count; i++) {
        var btn = '';
        if(data[i]._child && data[i]._child.length > 0){
          btn = ' ';
        }else{
          btn = ' ';
        }
        html += '' +
          ''+btn + data[i].name + '(' + data[i].title + ')' + '' +
          '' + (data[i].source_name ? data[i].source_name : '') + '' +
          '' + data[i].show_time + '' +
          '' + dataFormat(data[i].current_record, data[i].unit) + '' +
          '' + dataFormat(data[i].prev_record, data[i].unit) + '' +
          '' + dataFormat(data[i].last_record, data[i].unit) + '' +
          '' + dataFormat(data[i].budget, data[i].unit) + '' +
          '' + dataFormat(data[i].budget_rate, '%') + '' +
          '' + dataFormat(data[i].record_rate) + '' +
          '' + dataFormat(data[i].mom, '%') + '' +
          '' + dataFormat(data[i].yoy, '%') + '' +
          ' ' +
          '';
        if(data[i]._child && data[i]._child.length > 0){
          html = createNewTable(data[i]._child,html,1,t);
        }
      }
    } else {
      html = ' 暂无数据 ';
    }
    $("#datatable" + t + ' tbody').html(html); // 插入的表格
    initTreeAction(t); // 结构初始化
}
function createNewTable(data,html,y,t)
{
    var counts = data.length;
    var num = ++y;
    for (var i = 0; i < counts; i++) {
      var btn = '';
      var css = '';
      css = 'text-indent:'+ (num * 20) +'px;';
      if(data[i]._child && data[i]._child.length > 0){
        css = 'text-indent:'+ (num==2?20:(num-1) * 20) +'px;';
        btn = ' ';
      }else{
        btn = ' ';
      }
      html += '' +
        ''+ btn + data[i].name + '(' + data[i].title + ')' + '' +
        '' + (data[i].source_name ? data[i].source_name : '') + '' +
        '' + data[i].show_time + '' +
        '' + dataFormat(data[i].current_record, data[i].unit) + '' +
        '' + dataFormat(data[i].prev_record, data[i].unit) + '' +
        '' + dataFormat(data[i].last_record, data[i].unit) + '' +
        '' + dataFormat(data[i].budget, data[i].unit) + '' +
        '' + dataFormat(data[i].budget_rate, '%') + '' +
        '' + dataFormat(data[i].record_rate) + '' +
        '' + dataFormat(data[i].mom, '%') + '' +
        '' + dataFormat(data[i].yoy, '%') + '' +
        ' ' +
        '';
      if(data[i]._child && data[i]._child.length > 0){
        html = createNewTable(data[i]._child,html,num,t);
      }
    }
    return html;
}
function showLowData(obj)
{
    var mId = $(obj).attr('data-tid');
    var isOpen = $(obj).hasClass('open');
    if (isOpen) {
      $(obj).removeClass('open');
      if($(obj).hasClass('layui-icon')){
        $(obj).html('');
      }
    } else {
      $(obj).addClass('open');
      if($(obj).hasClass('layui-icon')){
        $(obj).html('');
      }
    }
    $(obj).parents('tbody').find('tr').each(function () {
      var mt = $(this).find('.mt-icon');
      var pid = mt.attr('data-pid');
      var Open = mt.hasClass('open');
      var type = mt.attr('data-type');
      if (mId == pid) {
        if (isOpen) {
          $(this).hide();
          if (type == 'dir' && Open == isOpen) {
            mt.trigger('click');
          }
        } else {
          $(this).show();
        }
      }
    });
}


名称栏目:jquery实现自定义树形表格的方法【自定义树形结构table】-创新互联
网站地址:http://scyanting.com/article/psjpc.html