У меня есть разбиение на страницы, реализованное на моем представлении, разработанное в C# MVC. Pagination реализуется с помощью AJAX. Пользователь может выбирать записи на страницах просмотра, и когда они нажимают кнопку «Печать», которая находится на странице, будут напечатаны только те выбранные записи. Для этого переместите выбранную запись в <div id="ToPrintContainer" >
, которая находится на странице «Макет».Проблема при печати выбранных элементов
На нажатием кнопки печати
Я клонировать
<div id="ToPrintContainer">
в мой взгляд.присвоено имя
.divPrintDetailed
display:none
.window.print()
Удалите
display:none
из.divPrintDetailed
Наконец удалить или очистить скопированные записи.
<div id="ToPrintContainer" >
будет содержать только записи, которые пользователь хочет распечатать.
<div class ="divPrintDetailed">
будет кодировать все записи.
Проблема в печати i см. Пустую страницу.
если я комментарий $('.copiedDivForPrint').empty();
Я вижу, выбранные записи в окне печати, которая является то, что я хочу, чтобы это произошло, но копируются записи не будут удалены из вида.
Вставляемый ниже код jQuery.
$('#btnPrnt').unbind('click').bind("click", function() {
// copy the selected records into the view
$("#divTestPrintContainer").clone().addClass('copiedDivForPrint').insertAfter('.StatsCriteria');
// don't display the entire records on print
$('.divPrintDetailed').css({ 'display': 'none' });
window.print();
$('.divPrintDetailed').css({ 'display': '' });
$('.copiedDivForPrint').empty();
return false;
});
[Этот парень] (http://stackoverflow.com/a/7644857/221708) имеет очень элегантный подход к печати - в основном ваш подход (изменить страницу с JavaScript, окна ' .print', затем верните назад), а также некоторые дополнительные биты, чтобы обрабатывать случай, когда пользователь нажимает «Печать» в меню браузера. –
Является '' divTestPrintContainer', содержащимся в '.divPrintDetailed'? –
Когда вы комментируете '$ ('. CopiedDivForPrint'). Empty();', правильно ли оно печатается? Если это так, это действительно удивительно, потому что «окно.print' предположительно блокируется до тех пор, пока это не будет сделано - поэтому я не ожидал бы кода после 'window.print', чтобы повлиять на то, что было напечатано. Какой браузер вы используете? –