0

現在、次のコードを使用して、印刷アイコンでページ全体を印刷しています。

<a href="javascript:window.print()">
<img src="images/printIcon.gif" alt="Print the Records" width="40" height="40" border="0" /> 
</a>

JSPでオブジェクトのリストを読み取り、を使用してオブジェクトの詳細を表示しています<c:foreach>。各オブジェクトの詳細の横に印刷アイコンを表示し、クリックしたときに個々のオブジェクトの詳細のみを(外部プリンターに)印刷したい。ページ全体が単一のdivになっています。

これができるかどうかはわかりません。ある種のIDを使用して各ループを制御できますか?

編集:

例:

  <c:forEach var="case" items="${distributions}">
     <table>
        <tr> 
            Print case details
        </tr>
     </table>
  </c:foreach>

ディストリビューションが10個ある場合、テーブルが10個あるので、各テーブルの横に印刷アイコンが必要です。クリックすると、その個々のテーブルのみが印刷されます。

4

3 に答える 3

0

提案された方法とは別の方法として、選択したオブジェクトのみを表示するページを再読み込みしてから、プリンター ダイアログを呼び出します (ドキュメントの読み込み時など)。したがって、オブジェクトの横にあるプリンター アイコンは同じページにリンクし、印刷するパラメーターと印刷するオブジェクトの ID を渡すことができます。

于 2013-03-07T22:25:07.623 に答える
0

ブロックでは、データを td に入れ、この投稿で説明されている方法を使用して、その td の内容を出力できます。

<script type="text/javascript">
$(function(){
 $(".printable").each(function(){
   var $td = $(this);
   var $printIconTD = $('<td><img src="images/printIcon.gif" alt="Print the Records" width="40" height="40" border="0" /></td>');
   $td.parent().append($printIconTD);
   $printIconTD.click(function(){
        Popup($td.html());
   });

});
});
</script>

....

 <c:forEach var="case" items="${distributions}">
 <table>
    <tr> 
        <td class="printable">Print case details</td>
    </tr>
 </table>

このソリューションの唯一の問題は神であり、誰もがポップアップを無効にしているため、ユーザーに知らせるページに何らかの通知を表示する必要があります

于 2013-03-07T22:22:51.157 に答える