2017-05-05 88 views
0

我想打印一個tbody的ID爲alltransactsdaily在我的代碼中使用這個http://projects.erikzaadi.com/jQueryPlugins/jQuery.printElement/插件來解決打印時無法關閉/關閉模式的問題。使用jquery打印插件打印div不起作用

這是我的代碼。

<div class="col-md-9"> 
        <input type="hidden" name="clinic_idhid" id="clinic_idhid"> 
        <div class="table_transactions" id="table_transactions"> 
         <table id="mytransactions" class="table table-striped table-bordered table-hover dataTable dtr-inline" role="grid" style="width: 100%;" width="100%" aria-describedby="dataTables-material"> 
          <thead> 
            <th>Check-up ID</th> 
            <th>First Name</th>            
            <th>Last Name</th> 
            <th>Check-up Date & Time</th> 
            <th>Bill Amount</th> 
          <tbody id="alltransactsdaily"> 
          </tbody> 
         </table> 
        </div>     
       </div> 
<button type="button" id="btn_printdiv" class="btn btn-primary"><span class="fa fa-print"></span> Print</button> 

現在我想打印tbody id="alltransactsdaily"使用此javascript:

$("#btn_printdiv").click(function() { 
    $("#alltransactsdaily").printElement(); 
}); 

,當我按一下按鈕控制檯顯示:

jquery.printElement.min.js:26 Uncaught TypeError: Cannot read property 'opera' of undefined 
    at jQuery.fn.init.a.fn.printElement (jquery.printElement.min.js:26) 
    at HTMLButtonElement.<anonymous> (Patients_report:392) 
    at HTMLButtonElement.dispatch (jquery-2.2.3.min.js:3) 
    at HTMLButtonElement.r.handle (jquery-2.2.3.min.js:3) 
+0

您是否必須使用jQuery打印庫,還是打開其他庫? – KevBot

+0

@KevBot,謝謝你的回覆。是的,我想用jQuery插件來減少打印中的代碼,並且還解決了無法解除模式的問題。 –

+0

我的意思是使用另一個外部庫。這個庫的工作方式就像這個'PrintJob.print('#alltransactsdaily')'。它被稱爲[PrintJob](https://www.npmjs.com/package/print-job) – KevBot

回答

1

試試這個,它不會開放模式它將打開模式彈出框內的同一頁面上的打印

https://jsfiddle.net/athulnair/dqtcb3v8/1/

<div id="print-area-1" class="print-area"> 
    <div style="text-align:right;"><a class="no-print" href="javascript:printDiv('print-area-1');">Print</a></div> 
    <h2>Lorem Ipsum</h2> 
    <p>gh.</p> 
</div> 

function printDiv(elementId) { 
    var a = document.getElementById('printing-css').value; 
    var b = document.getElementById(elementId).innerHTML; 
    window.frames["print_frame"].document.title = document.title; 
    window.frames["print_frame"].document.body.innerHTML = '<style>' + a + '</style>' + b; 
    window.frames["print_frame"].window.focus(); 
    window.frames["print_frame"].window.print(); 
} 
+0

非常讚賞的答案,但我的情況是,在我的模式裏面有 和它裏面的tbody,這就是我想要打印的。你可以改變你的答案先生。謝謝 –

+0

檢查此小提琴它的工作模式內彈出https://jsfiddle.net/s2ex5djn/ –

+0

謝謝,這是我想要的 –