Экспорт таблицы таблиц в CSV и замена содержимого определенных столбцов - PullRequest
0 голосов
/ 19 декабря 2018

Как видно из заголовка, я использую tableorter для таблицы HTML, и я хотел бы добавить также функцию загрузки всей таблицы в файл CSV.

Моя проблема заключается в том, что некоторые столбцы нене включает текст, но либо изображение, либо значок.Например,

<table class="tablesorter">
   <thead>
      <tr>
         <th>Col1</th>
         <th>Col2</th>
         <th><i class="icon-2" role="img" aria-label="ColIcon2" title="ColIcon2"></i></th>
      </tr>
   </thead>
   <tbody>
      <tr>
         <td>This is just a text</td>
         <td><a href="/blah" class="class1"><img src="/Img/Icons/image.gif" alt="title1" title="title1"></a></td>
         <td><i class="icon-1" role="img" aria-label="Icon1" title="Icon1"></i></td>
      </tr>
   </tbody>
   <tfoot>
      <tr >
         <td>
            <a href="#" class="download">Download as CSV</a>
         </td>
      </tr>
   </tfoot>
</table>

И использовать обычную базовую настройку для TableSorter, как этоИзображение, я мог бы добавить атрибут заголовка или пользовательский атрибут данных, который я добавлю в код HTML?

1 Ответ

0 голосов
/ 19 декабря 2018

В widgetOptions добавьте обратный вызов output_formatContent, который возвращает текст, который должен быть включен в CSV:

output_formatContent : function( c, wo, data ) {
  // data.isHeader (boolean) = true if processing a header cell
  // data.$cell = jQuery object of the cell currently being processed
  // data.content = processed cell content (spaces trimmed, quotes added/replaced, etc)
  // data.columnIndex = column in which the cell is contained (added v2.30.5)
  // data.parsed = cell content parsed by the associated column parser (added v2.30.5)
  // **********
  // use data.$cell.html() to get the original cell content
  const label = data.$cell.find('img, i');
  return label.length ? label.attr('title') : data.content;
}
...