tags:

views:

27

answers:

4

Hello,

I have a web page with a DIV element in it. When a user clicks "print", I want to print the contents of that div. Please note, I only want to print the contents of the DIV, not the entire page. To attempt this, I decided I would open a new window using JavaScript. I was then going to write the contents of the DIV into the new window. My question is, is this possible with JQuery? If so, how? Currently, I'm trying the following:

function printClick() {
  var w = window.open();
  var html = $("#divToPrintID").html();

  // how do I write the html to the new window with JQuery?
}
+2  A: 

file1:

function find(input){
    return $(input);
}

function printClick() {
  var w = window.open();
  var html = $("#divToPrintID").html();

  // how do I write the html to the new window with JQuery?
}

and in the second file do that:

var html = window.opener.find("#divToPrintID").html();
ITroubs
A: 

Try -

var w = window.open();
var html = $("#divToPrintID").html();
w.document.writeln(html);

Reference - http://www.javascripter.net/faq/writingt.htm

Alpesh
+1  A: 

I found a pretty perfect match of a tutorial for exactly that.. http://www.bennadel.com/blog/1591-Ask-Ben-Print-Part-Of-A-Web-Page-With-jQuery.htm

Additionally, you can attact print-only CSS to the page that has everything but what you want turned off.

FatherStorm
A: 

You can use

$(w.document.body).html(html);

See this example

Steve Greatrex