Генерация CSV
Всем привет, я тут заморочился с CSV, суть такова, есть кусок html:
<tr> <td>User3</td> <td>Final</td> <td>7</td> <td>0</td> <td> <label> <input type="checkbox"> </label> </td> </tr> и есть кусок рабочего скрипта: <script> $(document).ready(function () { function exportTableToCSV($table, filename) { var $rows = $table.find('tr:has(td),tr:has(th)'), tmpColDelim = String.fromCharCode(11), tmpRowDelim = String.fromCharCode(0), colDelim = '","', rowDelim = '"\r\n"', csv = '"' + $rows.map(function (i, row) { var $row = $(row), $cols = $row.find('td,th'); return $cols.map(function (j, col) { var $col = $(col), text = $col.text(); return text.replace(/"/g, '""'); }).get().join(tmpColDelim); }).get().join(tmpRowDelim) .split(tmpRowDelim).join(rowDelim) .split(tmpColDelim).join(colDelim) + '"', csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv); console.log(csv); if (window.navigator.msSaveBlob) { //alert('IE' + csv); window.navigator.msSaveOrOpenBlob(new Blob([csv], {type: "text/plain;charset=utf-8;"}), "download.csv") } else { $(this).attr({ 'download': filename, 'href': csvData, 'target': '_blank' }); } } $("#downloadBtn").on('click', function (event) { exportTableToCSV.apply(this, [$('#generated'), 'download.csv']); }); }); </script> все как бы работает отлично и выгружает документ со всеми данными, но вот есть проблема, а если мне надо в документ csv выгружать только отмеченные чекбоксом поля? хотелось бы иметь возможность либо все либо выборочно! подскажите |
Alfer,
так выберите в строке 4 tr:has("input:checked") |
Alfer,
var $rows = $( 'input:checked' ).length ? $table.find('tr:has(input:checked)') : $table.find('tr:has(td),tr:has(th)') |
Часовой пояс GMT +3, время: 08:10. |