我的项目中有这些代码打开一个新窗口显示,然后从我的第一个窗口打印结果表:
$('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 窗口中写入。我不知道为什么:(
我使用了Write Content To New Window with JQuery,但它对我不起作用。请帮帮我。
顺便说一句,我需要将内容写入某个div(id="myDiv"
)。我该怎么办?
答案 0 :(得分:2)
试试这个:
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);
}
答案 1 :(得分:0)
尝试
printWin.body.innerHTML = elementToPrint;
document.getElementById('myDiv').innerHTML = elementToPrint;