我有问题。我试图创建一个非常简单的打印预览,当用户单击Print Preview
按钮时,它将打开一个新窗口并复制我想要的数据。有一些元素,如我不想包含的复选框,但我能够成功地做到这一点。我的问题是当加载新窗口时,原来的div也被改变了。就像在原始div中删除复选框一样,也会出现Print
按钮。
我希望divData
的原始div保持不变。我没有新窗口的问题。
顺便说一句,我的jquery代码如下:
$("#btnPrintPreview").click (function () {
var printContents = new $("#divData");
var myWindow = window.open("", "popup","width=1000,height=600,scrollbars=yes,resizable=yes," +
"toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0");
var doc = myWindow.document;
doc.open();
$(printContents).find(".tCheckboxes").remove();
var button = "<input type='button' id='btnPrint' value='Print' style='float: right;' onclick='window.print();'/>";
$(printContents).append($(button));
doc.write($(printContents).html());
doc.close();
});
要在此处查看我的演示,请访问http://jsfiddle.net/dU7et/链接。
PS:点击Print Preview
后,请检查主div。
请帮助我....
答案 0 :(得分:3)
为此,要执行您想要的操作,请将以下行更改为:
// Before:
var printContents = new $("#divData");
// After:
var printContents = $("#divData").clone();
有关详细信息,请参阅http://api.jquery.com/clone/。