tüm tabloları ve tek tek masaları yazdırmak için javascript

2 Cevap php

Ben bir veritabanındaki değerleri alınıyor ve php kullanarak bunu bir tablo göstererek duyuyorum. Her tablo bir div etiketi içinde saklanır.

<div id="print">
table content 1
</div>

<div id="print">
table content 2
</div> ..................

Bazı biri ben her tablo yazdırmak için tüm masadaki tüm tabloları ve bir bağlantıyı basacaktır ayrı bir link / düğmesine alabilirsiniz bir javascript tavsiye misiniz. Ben birkaç Javascript'leri ve jquery eklentileri kullanılır ama benim işi değil.

herhangi bir yardım takdir edilecektir

2 Cevap

Bazı ipuçları:

  1. Kimlikleri belgenin arasında benzersiz olmalıdır. Kullanım sınıfları tabloları tespit yapmak.

  2. @ Media = baskı ile Set uygun CSS kuralları böylece sadece tabloları basılı olsun.

  3. "Tüm tabloları yazdır" butonu basittir: sadece yazıcıya bütün belge gönderin.

  4. "Bu tabloyu yazdır" butonu yapmanız gerekir:

    1. Tablo belirlemek (tablo içinde veya ortak bir kap içinde düğme koymak)
    2. Onlar baskı olmayacak şekilde diğer tüm tabloları bir CSS sınıfını ayarlayın
    3. Yazıcıya bütün belge gönderin
    4. Özgün CSS sınıfları erkene

Eğer emin değilseniz adımlardan herhangi sormaya çekinmeyin.

Update: identify table

Tıpkı birçok olasılık biri:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript"><!--
function printThisTable(button){
    var $table = $(button).closest("div").find("table");

    alert("Table found: " + $table.text());
}
//--></script>
</head>
<body>

<div>
    <table><tr><td>I'm table A</td></tr></table>
    <p><input type="button" onclick="printThisTable(this)" value="Print this table"></p>
</div>

<div>
    <table><tr><td>I'm table B</td></tr></table>
    <p><input type="button" onclick="printThisTable(this)" value="Print this table"></p>
</div>

<div>
    <table><tr><td>I'm table C</td></tr></table>
    <p><input type="button" onclick="printThisTable(this)" value="Print this table"></p>
</div>

</body>
</html>

Her div için ayrı kimlikleri olması gerekir. PRINT1, PRINT2, vb gibi Sonra almak veya document.getElementById ("PRINT1") kullanarak değerleri ayarlayabilirsiniz. InnerHTML

İşte yardımcı olabilecek bazı pratik işlevler bulunuyor:

function getContents(id) {
  var contents = Document.getElementById(id).innerHTML;
  return contents;
}

function setContents(id, value) {
  Document.getElementById(id).innerHTML = value;
}

Şimdi uygun olarak bu işlevlerin her ikisi ya / çağırmak için bir döngü kullanabilirsiniz. Ayrıca çıkış gönderilen istedikleri yere yazdırmak için GetContents () işlevini değiştirebilir.