使用jQuery在新窗口的某个部分写入内容

发布于 2024-12-23 14:37:16 字数 742 浏览 0 评论 0原文

我的项目中包含以下代码,用于打开一个新窗口进行显示,然后从第一个窗口打印结果表:

$('a.print_btn').click(function(e) {
    var elementId = $(this).attr('id');
    var elementToPrint = $("#report_" + elementId).html();
    var printWin = window.open("print.php?id="+elementId, "Print");
    $(printWin.document.body).html(elementToPrint);
}); 

在此代码中,#report_elementId 指向包含我的表信息的字段集。如果我使用下面的代码,我可以看到所有表格内容:

alert(elementToPrint);

所以到目前为止一切正常。但是最后一行代码不起作用,并且 printWin 窗口中没有写入任何内容。我不知道为什么:(

我使用 使用 JQuery 将内容写入新窗口< /a> ,但它对我不起作用。顺便说

一句,我需要将内容写入某个 div (id="myDiv")。它?

I have this codes in my projects to open a new window to show and then, print the result table from my first window:

$('a.print_btn').click(function(e) {
    var elementId = $(this).attr('id');
    var elementToPrint = $("#report_" + elementId).html();
    var printWin = window.open("print.php?id="+elementId, "Print");
    $(printWin.document.body).html(elementToPrint);
}); 

In this code, #report_elementId points to a fieldset that contains my table information. If I use the code below I can see all table contents:

alert(elementToPrint);

So everything is ok so far. But the last line of code does not work and anything don't write in printWin window. I don't know why :(

I used Write Content To New Window with JQuery for it, but it does not work for me. Help me please.

By the way, I need to write contents to a certain div (id="myDiv"). How can I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不美如何 2024-12-30 14:37:16

试试这个:

  var printWin = window.open("print.php?id="+elementId, "Print");
  $(printWin.document).ready( function() {
     $('div#myDiv').html(elementToPrint); 
  }

我假设 print.php?id=[something] 确实有效,即不会以 500 或 404 错误结束...

因为我不确定在什么上下文中执行就绪回调,让我们尝试更明确:

  var printWin = window.open("print.php?id="+elementId, "Print");
  $(printWin.document).ready( function() {
     $(printWin.document).find('div#myDiv').html(elementToPrint); 
  }

Try this:

  var printWin = window.open("print.php?id="+elementId, "Print");
  $(printWin.document).ready( function() {
     $('div#myDiv').html(elementToPrint); 
  }

I assume print.php?id=[something] does work, ie not ending in a 500 or a 404 error...

As I'm uncertain in what context the ready callback is executed let's try to be more explicit:

  var printWin = window.open("print.php?id="+elementId, "Print");
  $(printWin.document).ready( function() {
     $(printWin.document).find('div#myDiv').html(elementToPrint); 
  }
乖不如嘢 2024-12-30 14:37:16

尝试

printWin.body.innerHTML = elementToPrint;
document.getElementById('myDiv').innerHTML = elementToPrint;

Try

printWin.body.innerHTML = elementToPrint;
document.getElementById('myDiv').innerHTML = elementToPrint;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文