2015-02-07 22 views
1

我有它运行在一个循环中的代码,它应该当我尝试打印5张一个页面上..打印在一个页面上一行JavaScript或jQuery的

我想在一个打印一票

我丢了怎么办,我想下面的代码:

function Printticket() 
{ 
     $('#print .ticket_new').each(function() { 
      $(this).hide(); 
     }); 
     $('#print .ticket_new').each(function() { 
      $(this).show(); 
      window.print(); 
     }); 
} 

代码是这样的

<div id="print"> 
<loop from="1" to="10" index="k"> 
<div id="print_1" class="ticket_new>ticket1</div> 
<div id="print_2" class="ticket_new>ticket2</div> 
<div id="print_3" class="ticket_new>ticket3</div> 
<div id="print_4" class="ticket_new>ticket4</div> 
</loop> 
</div> 
+0

那么你想打印5页5门票? – 2015-02-07 06:34:23

+0

是的,你是对的 – cater 2015-02-07 06:37:14

+1

当你打印一个'div'时,让其他'div'隐藏。我的意思是在打印1st时隐藏第2,3,4页......通过js或jquery – 2015-02-07 06:42:07

回答

0

浦t将所有div单独隐藏iframe(根据页面大小调整尺寸)并打印出来。

HTML

<iframe id="print" name="print"></iframe>

JS

window.frames["print"].focus(); window.frames["print"].print();

编辑:我刚才读帕布的评论,这是非常好的方法。

0

创建n个div。

将每个div的高度和宽度设置为窗口的高度/宽度。

并将票内容分别存放在各个分区中并进行打印。

例子: -

HTML:

<div id="print_1" class="ticket_new>ticket1</div> 
<div id="print_2" class="ticket_new>ticket2</div> 
<div id="print_3" class="ticket_new>ticket3</div> 
<div id="print_4" class="ticket_new>ticket4</div> 

JS:

for(var i=1;i<=4;i++) 
{ 
$("#print_"+i).width($(window).width()); 
$("#print_"+i).width($(window).height()); 
} 

现在所有的内容可以放在占据每格一个页面的div。

+0

动态地做到这一点,似乎并不奏效,t gerenartes为1,然后是2和3,并创造了更多的约6页以上 – cater 2015-02-07 11:53:15

1

基于DA的suggestion,我创造了这个:

$('button').click(function() { 
 
    $('button').hide(); 
 
    $('li').each(function() { 
 
    $(this).css({ 
 
     "page-break-after": "always" 
 
    }); 
 
    }); 
 
    window.print(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <ul> 
 
    <li>ticket1</li> 
 
    <li>ticket2</li> 
 
    <li>ticket3</li> 
 
    <li>ticket4</li> 
 
    </ul> 
 
</div> 
 
<button>Print</button>

或查看fiddle

这将在4个单独页面中打印4张票。

相关问题