jQuery Tablesorter - output-widget使输出像表一样

时间:2016-11-23 11:56:44

标签: javascript jquery

我正在使用这个jQuery tablesorter:

http://tablesorter.com/docs/

https://mottie.github.io/tablesorter/docs/example-widget-output.html

$(function () {

    var $table = $('table');

    $('.download').click(function(){
        $table.trigger('outputTable');
    });

    $table.tablesorter({
        theme: 'blue',
        widgets: ['zebra', 'output'],
        widgetOptions : { output_delivery : 'd'}
    });
});

这是一个简单的DEMO

问题在于,当您单击“获取CSV”时,此文件中保存的数据全部在一行中。这是不可读的。

如何使它看起来像一个带有列的表,就像它已经在HTML视图中......它不一定是csv ...是否有一些其他插件可以导出更多可读输出?

更新

输出如下:

enter image description here

我想要的是这个:

enter image description here

1 个答案:

答案 0 :(得分:1)

我将分隔符更改为;

修改后的JS:

$(function() {
  var $table = $('table');

  $('.download').click(function() {
    $table.trigger('outputTable');
  });

  $table.tablesorter({
    theme: 'blue',
    widgets: ['zebra', 'output'],
    widgetOptions: {
      output_delivery: 'd',
      output_separator: ';'
    }
  });
});

请检查:http://jsfiddle.net/abkNM/8764/

<强> 更新

发表评论后,我再做了一次修改,将数字列上的.替换为,

<强> JS:

$(function() {
  var $table = $('table');

  $('.download').click(function() {
    $table.trigger('outputTable');
  });

  $table.tablesorter({
    theme: 'blue',
    widgets: ['zebra', 'output'],
    widgetOptions: {
      output_delivery: 'd',
      output_separator: ';',
      output_formatContent: function(c, wo, data) {
        if (c.parsers[data.$cell['0'].cellIndex].type !== 'numeric')
          return data.content;
        return data.content.replace(/\./ig, ',');
      }
    }
  });
});

新jsFiddle:http://jsfiddle.net/abkNM/8781/