每天进步一点@ 2015-08-10 10:48 采纳率: 0%
浏览 3578
已结题

循环调用window.print打印,想只在第一次显示弹窗,后面的弹窗均不显示

使用ajax查询数据,赋值给隐藏的页面,然后调用print()进行打印
不能用插件

 var i = 0;
    function printmore() {
        var orderRow = $('#dg').datagrid("getSelections");
        var len = orderRow.length;
        if(i == len) {
            return;
        }

        $.ajax({
                    url : "${pageContext.request.contextPath}/printController/printtransmore?id="
                            + orderRow[i].id,
                    type : "post",
                    success : function(data) {
                        $("#transNo").html("运单号:" + data.first.transportNo);
                        $("#fromcompany").html(
                                data.first.fromcompanyname + "<br/><br/>"
                                        + data.first.fromprovince
                                        + data.first.fromcity
                                        + data.first.fromarea
                                        + data.first.fromcompanyaddress);
                        $("#tocompany").html(
                                data.first.tocompanyname + "<br/><br/>"
                                        + data.first.toprovince
                                        + data.first.tocity + data.first.toarea
                                        + data.first.tocompanyaddress);
                        $("#fromcontact").html(
                                "联系人:" + data.first.fromcompanycontact
                                        + "&nbsp;&nbsp;电话:"
                                        + data.first.fromcompanyphoneno);
                        $("#tocontact").html(
                                "联系人:" + data.first.tocompanycontact
                                        + "&nbsp;&nbsp;电话:"
                                        + data.first.tocompanyphoneno);
                        $("#pusername").html(data.trans.pagkageUserName);
                        $("#money").html("运费:"+data.trans.money);
                        $("#insurance").html("其他费用:" + data.trans.insurance);
                        $("#payname").html("付款方式:" + data.trans.payname);
                        for (var a = 0; a < data.list.length; a++) {
                            $("#boxno").html(data.list[a].boxNo);
                            $("#typename").html(data.list[a].typeName);

                        }
                        $("#wcount").html("总重量:" + data.trans.weightCount);
                        $("#bcount").html("总件数:" + data.trans.boxCount+"件");

                        printit('div1');

                        i = i + 1;

                        printmore();
                    }
                });
    }

        function printit(MyDiv)
    {
       //var newstr = document.all.item(myDiv).innerHTML;
          var newstr = document.getElementById(MyDiv).innerHTML;
            //alert(newstr);
            var oldstr = document.body.innerHTML;
           document.getElementById('printiframe').contentWindow.document.body.innerHTML = newstr;
                document.getElementById('printiframe').contentWindow.window.print();
             document.getElementById('printiframe').contentWindow.document.body.innerHTML = oldstr;

      }
  • 写回答

2条回答 默认 最新

  • threenewbee 2015-08-10 10:56
    关注

    必须先显示出要打印的页面,然后才能打印,什么叫不显示?

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?