如何让printjs在同一个会话中打印多个页面

时间:2018-02-11 18:13:18

标签: jquery ajax printjs

我有一个场景,客户决定要打印的门票数量,使用printjs并且它一次性打印效果很好,但在循环打印多个,它只打印最后一个? ??一个

任何人都知道为什么??

// loop to create and print ticket 
for (var i = 0; i < TicketCount; i++) {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "xxxxxxxxxxx",

        data: TicketCategory,
        dataType: "json",

        success: function(data) {



            // fill in the div with data
            $("label[for =lblTicketAmount]").text(data.price);
            $("label[for=lblTicketType]").text(data.ticketCategoryName);
            $("label[for =lblDate]").text(moment().format('D MMM, YYYY'));
            $("label[for =lblTime]").text(moment().format('HH:mm'));
            $("label[for =lblUser]").text(data.userData);
            $("label[for =lblSerial]").text(data.id);
            $("label[for =lblTicketTaxes]").text(data.taxes);

            printJS('dvshowdata', 'html');


        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log('in error');

            //alert("error : " + jqXHR.responseText);
        }
    }).done(function() {
        $("#progress").dialog("close");

    });
}

编辑:只是一个不是我不使用索引(i)在循环内的任何地方,我调用另一个函数,所以它不是索引问题,

1 个答案:

答案 0 :(得分:1)

我从开发者那里得到了以下答案

https://github.com/crabbly/Print.js/issues/73

库目前不支持打印多个文件。不确定这是否是我们应该做的事情,因为预览屏幕必须向用户显示每个文件。听起来很烦人的用户体验。我会编写一些东西,首先将文件合并到一个文件中,然后打印那个文件。这将仅创建一个打印预览,从而提供更好的用户体验。