2017-06-13 63 views
0

我只想在網頁上打印選中的圖片。如何只在網頁上打印選中的圖片?

這是我的js。

$(document).ready(function(){ 
    $("#print").one('click', function(ev){ 
     $('#main').prepend('<center><button class="btn btn-primary btn-lg" id="print2">복사하기</button></center>') 
     $('.post').prepend('<input type="checkbox">'); 
     $("#print2").on('click', function(){ 
      var images =''; 
      $('li').each(function(){ 
       var thisCheckFlag=$(this).children('input[type="checkbox"]').prop('checked'); 
       if(thisCheckFlag){ 
       images+='<img src ="'+$(this).find('img').attr('src')+'"><br>'; 
       } 
      }); 
      if(images){ 
       var myWindow=window.open('','printWindow','width=800,height=800'); 
       myWindow.document.write(
       '<html><head><title>Print</title></head><body>' 
       +images+'</body></html>' 
       ); 
       myWindow.focus(); 
       myWindow.print(); 
      } 
      else alert('먼저 선택하세요.'); 
     }); 
     ev.preventDefault(); 
    }); 
}); 

它是正確的工作。但如果我不選擇任何圖片,我想顯示警報。它不起作用。如果我不選擇任何圖片,然後點擊打印(id = print2),它顯示網頁爲打擊。 enter image description here

什麼問題? TT我找不到錯誤。 請幫助我。

回答

0

如果你的目標是隻打印選中的圖像,我認爲你可以通過只使用CSS來實現它。 你已經嘗試過這樣的事情嗎? (也許需要一些調整取決於你DOM樹)

@media print { 
    img, input { 
     display: none; 
    } 
    input:checked + img { 
     display: block; 
    } 
} 

@media print只會目標打印機