2015-11-23 67 views
0

我在尋找一種巧妙的方式來打印頁面的一小部分,具體取決於用戶點擊的鏈接。一個例子:根據點擊元素打印頁面的不同部分

Item 1 PRINT 
Item 2 PRINT 

如果我點擊項目1旁邊的打印,我只想讓項目1在打印對話框中打開。同樣,如果我點擊該項目旁邊的項目,我只想要打開項目2。

我知道<a href="javascript:window.print()">以及如何將一個名爲noprint的類添加到任何我不希望打印的元素中,但是我所尋找的是一些聰明而動態的方式,讓它根據元素進行更改在用戶正在與之交互的頁面上。

任何人都知道一種方法來解決這個問題?

+0

http://stackoverflow.com/questions/4373922/jquery-print-selected-div-instead-complete-page – toddmo

回答

2

這是我最喜歡的做法。它不會在這裏工作的S/O,但它在this pen

function printDiv(id) {  
 
     var printContents = document.getElementById(id).innerHTML; 
 
     var originalContents = document.body.innerHTML; 
 
     document.body.innerHTML = printContents; 
 
     window.print(); 
 
     document.body.innerHTML = originalContents; 
 
    }
<div id="first">I'm first</div> 
 
<button onclick="printDiv('first')">Print</button> 
 
<div id="second">I'm second</div> 
 
<button onclick="printDiv('second')">Print</button>

0
  1. 創建工作在後臺將在適當的準備渲染所需的項目進行打印視圖單獨行動(類似的財產以後/print?itemId=123
  2. 通過點擊鏈接打開單獨窗口,視圖和那裏調用window.print();

對於小型任務來說,這似乎是一項很大的工作,但是您可以從獨立,靈活的屏幕和打印同一項目的視圖中獲益。

相關問題