1

我有个问题。我试图创建一个非常简单的打印预览,当用户单击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:点击后请检查主div Print Preview

请帮我....

4

1 回答 1

3

为此,您想要将以下行更改为:

// Before:
var printContents = new $("#divData");
// After:
var printContents = $("#divData").clone();

请参阅http://api.jquery.com/clone/以获取更多参考。

于 2013-05-14T02:32:02.393 回答