1
我有一個問題。我試圖創建一個非常簡單的打印預覽,當用戶點擊Print Preview
按鈕時,它會打開一個新窗口並複製我想要的數據。有一些元素像複選框,我不想包括但我能夠成功地完成。我的問題是當新窗口加載時,原始的div也被改變了。就像複選框在原始div中被刪除一樣,Print
按鈕也會出現。jquery - 如何正確地從div複製數據到新窗口動態
我想我的原始div是divData
保持不變。我沒有新窗口的問題。
順便說一下我的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。
請幫我....
感謝它的工作! – TheOnlyIdiot 2013-05-14 02:44:16
@EricTung如果我想添加css到這個...我想要'printContents'的不同css和原始'#divData'的實際css。 – blue 2013-08-02 10:54:22
@aks,.clone()的返回類型是一個選定的對象實例jQuery的。如果您創建了一組有範圍的樣式(例如:「.print-style div {some:css;} .print-style p {more:css;}」),您可以簡單地向新實體添加一個類,例如:printContents .addClass( 「打印樣式」); – 2013-08-31 19:45:11