2016-03-14 90 views
2

HTML:的jQuery多个选择

<div id="firstline"> 
    <div class="col-md-3"> 
     <a href="/"><div id="logo">Flooring</div></a> 
    </div> 
... 
</div> 
<div class="col-md-2"> 
    <ul> 
    ... 
     <li> 
     <button id="printall"><b class="fa fa-print"></b> Print</button> 
     </li> 
    </ul> 
</div> 
<div id="detailarea" class="col-md-12"> 
... 
</div> 

的Jquery:

jQuery(document).ready(function($){ 
... 
$("#printall").click(function(){ 
    $('#logo, #firstshow, #detailarea').print(); 
}); 
}); 

我要打印的上述ID的产品总数在同一个页面,但它reconizes只有第一个ID #logo和只打印标志。我能做些什么来解决这个问题?

回答

0
$("#printall").click(function(){ 
    var printThis = $('<div/>'); 
    $('#logo').clone().appendTo(printThis); 
    $('#firstshow').clone().appendTo(printThis); 
    $('#detailarea').clone().appendTo(printThis); 
    $(printThis).print(); 
}); 

但这不会复制任何动态的内容,就像如果他们已经输入的文本的地方。

0

尝试jQuery中:

$("#printall").click(function(){ 
    $('#logo, #firstshow, #detailarea').each(function(){ 
     $(this).print(); 
    }; 
}); 
+1

你需要''''在你的代码中..line 4'});' – CMedina

+0

是的,我尝试过......我需要在一个页面中的div。该代码只能工作,并打开每个独立的3个打印窗口。 –

+0

哦,是啊我的坏,谢谢@CMedina 好吧不知道, – kpbl

1

我认为你必须创建一个新的页面,然后添加你想要打印的容器的内容,然后打印。

喜欢的东西:

$("#printall").click(function(){ 

    $('#logo, #firstshow, #detailarea').each(function(){ 
     $('#new-container').append($(this).html()); 
    }); 

    $('#new-container').print(); 
}); 
+0

它应该有效,但它没有。现在在打印窗口中显示我没有选择3个页面的所有div。 –