2017-05-05 18 views
0

私はこのhttp://projects.erikzaadi.com/jQueryPlugins/jQuery.printElement/プラグインを使用して、コードをalltransactsdailyというIDで印刷したい場合、印刷時にモーダルを閉じる/閉じることができないという問題を解決します。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> 

は今、私はこのJavaScriptの使用によりtbody id="alltransactsdaily"ことを印刷したい:

$("#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

ありがとうございました –

関連する問題