Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.11.2015, 14:12
Аспирант
Отправить личное сообщение для Alfer Посмотреть профиль Найти все сообщения от Alfer
 
Регистрация: 28.06.2012
Сообщений: 97

Генерация 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 выгружать только отмеченные чекбоксом поля? хотелось бы иметь возможность либо все либо выборочно! подскажите
Ответить с цитированием
  #2 (permalink)  
Старый 24.11.2015, 14:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Alfer,
так выберите в строке 4 tr:has("input:checked")
Ответить с цитированием
  #3 (permalink)  
Старый 24.11.2015, 14:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Alfer,
var $rows = $( 'input:checked' ).length ? $table.find('tr:has(input:checked)') : $table.find('tr:has(td),tr:has(th)')
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация таблицы из JSON Lemme Общие вопросы Javascript 34 23.07.2015 21:55
Генерация поля из 8000 картинок на стороне клиента VS генерация картинки на сервере xintrea Events/DOM/Window 2 25.06.2013 20:10
Сохранение CSV на компьютер Rentony AJAX и COMET 2 20.01.2013 11:35
Парсинг CSV для калькулятора Axios Элементы интерфейса 16 18.01.2013 13:48
Фильтрация результа вывода csv andikk Общие вопросы Javascript 1 27.01.2010 11:49