我想使用javascript从表中打印选定的开始行和结束行

时间:2018-12-17 04:55:27

标签: javascript

我想使用javascript打印选定的开始行和结束行。但是我的代码可以在开始行和结束行工作,但是如果显示打印预览屏幕无法正确显示,它就可以全部打印出来了。

var work = $(“#rom-table-id”)。find(“ tr”);

                    for (var i = change_color_start; i <= change_color_end; i++) {
                        $(work[i]).addClass('print-selected-row');


                        console.log(work[i]);

                    }   

                    if (change_color_end) {
                        // 印刷プレビュー用別ウィンドウOpen
                        window.open('', 'new_window', 'fullscreen=1,resizable=1,scrollbars=1');

                        // SochiKubun:TD orATC or ALL、SelectedStartKoban:選択開始行の項番、SelectedEndKoban:選択終了行の項番
                        var form = document.createElement('form');
                        var printRomVerAction = location.pathname.substring(0, location.pathname.toUpperCase().lastIndexOf("WSM24G01") + 8) + '/PrintRomVer';
                        form.setAttribute('action', printRomVerAction);
                        form.setAttribute('method', 'post');
                        form.setAttribute('target', 'new_window');
                        form.setAttribute('id', 'SochiButton');
                        form.style.display = 'none';
                        document.body.appendChild(form);
                        var input = document.createElement('input');
                        input.setAttribute('type', 'hidden');
                        input.setAttribute('name', 'SochiKubun');
                        var sochi = $('.sochi-kind').text();
                        input.setAttribute('value', sochi);
                        form.appendChild(input);

                        input = document.createElement('input');
                        input.setAttribute('type', 'hidden');
                        input.setAttribute('name', 'SelectedStartKoban');
                        var koban = $(work[i - 1]).children('td:first').text();
                        console.log("koban is " , koban)
                        input.setAttribute('value', koban);
                        console.log("after insert value ,start row of result is ", koban);
                        form.appendChild(input);

                        input = document.createElement('input');
                        input.setAttribute('type', 'hidden');
                        input.setAttribute('name', 'SelectedEndKoban');
                        var koban = $(work[selected_end_row]).children('td:first').text();
                        input.setAttribute('value', koban);
                        console.log("after insert value ,end row of result is ", koban);
                        form.appendChild(input); 

1 个答案:

答案 0 :(得分:0)

您将需要

1。过滤服务器上的数据

2。将您要打印的数据放入PDF文件,然后将PDF文件发送到 打印机。

您遇到的问题是由于^P[File][Print]从服务器(或浏览器缓存)中获取页面。因此,对先前加载的页面上的数据所做的修改将丢失并且无法打印。

如果必须从客户端(浏览器)完成此操作,则PDF解决方案就是答案。