2017-05-05 4 views
0

je veux imprimer un tbody avec un identifiant de alltransactsdaily dans mon code en utilisant ce http://projects.erikzaadi.com/jQueryPlugins/jQuery.printElement/ plugin pour résoudre le problème de ne peut pas fermer/rejeter modal lors de l'impression.l'impression d'un div en utilisant jquery plugin ne fonctionne pas

Voici mon code.

<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> 

maintenant je veux imprimer que tbody id="alltransactsdaily" en utilisant ce javascript:

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

et quand je clique sur le bouton de la console affiche:

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

Vous devez utiliser une bibliothèque d'impression jQuery ou êtes-vous ouvert à d'autres bibliothèques? – KevBot

+0

@KevBot, merci réponse appréciée. oui, je veux utiliser jQuery plugin pour réduire mon code en impression, et aussi pour résoudre les problèmes avec ne peut pas rejeter modal –

+0

Je veux dire utiliser une autre bibliothèque externe. Cette bibliothèque fonctionne comme ceci 'PrintJob.print ('# alltransactsdaily')'. Il est appelé [PrintJob] (https://www.npmjs.com/package/print-job) – KevBot

Répondre

1

Essayez ce qu'il modales coutume l'ouvrir ouvrira l'impression sur la même page à l'intérieur d'une fenêtre modale

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

réponse très appréciée, mais ma situation est, à l'intérieur de mon modal a le et ce tbody à l'intérieur de celui-ci, c'est ce que je veux imprimer. pouvez-vous changer votre réponse monsieur. merci –

+0

Vérifiez ce violon fonctionne à l'intérieur d'un popup modal https://jsfiddle.net/s2ex5djn/ –

+0

merci c'est celui que je veux –