Javascript 我能';不要打印所有选中的复选框!(数组)

Javascript 我能';不要打印所有选中的复选框!(数组),javascript,php,Javascript,Php,我正在努力让我的二维码排队打印,我有一个二维码列表,并希望检查和打印选定的,我就快到了。但是我被困在了迭代中。。单击“打印”时,默认情况下仅打印数组[0]。我想在弹出的打印窗口中打印所有选中的项目。 这是我的密码: 大家好, 我正在努力让我的二维码排队打印,我有一个二维码列表,并希望检查和打印选定的,我就快到了。但是我被困在了反复浏览。。单击“打印”时,默认情况下仅打印数组[0]。我想在弹出的打印窗口中打印所有选中的项目。 这是我的密码: <script type="text/javasc

我正在努力让我的二维码排队打印,我有一个二维码列表,并希望检查和打印选定的,我就快到了。但是我被困在了迭代中。。单击“打印”时,默认情况下仅打印数组[0]。我想在弹出的打印窗口中打印所有选中的项目。 这是我的密码: 大家好, 我正在努力让我的二维码排队打印,我有一个二维码列表,并希望检查和打印选定的,我就快到了。但是我被困在了反复浏览。。单击“打印”时,默认情况下仅打印数组[0]。我想在弹出的打印窗口中打印所有选中的项目。 这是我的密码:

<script type="text/javascript">
  function PrintQR() {
    var codes = document.getElementsByClassName("QR")[0].innerHTML
    for (var i = 0; i < codes.length; i++) {
      var popupWin = window.open('', 'blank');
      popupWin.document.open();
      popupWin.document.write('' + '<html>' + '<body onload="window.print()">' + '<div class="Q">' + codes + '</div>' + '</body>' + '</html>');
      popupWin.document.close();
      setTimeout(function() {
        popupWin.close();
      }, 10);
    }
  };
</script>
//MY Submit Button Here :
<div>
  <center><button type="button" class="btn btn-primary btn-sm" onclick="PrintQR()"> Print This </button></center>
</div>
Here is my FORM:
<form method="POST">
  <?php
if (isset($_POST['submit'])) {
    if (!empty($_POST['qrcode'])) {
        // Counting number of checked checkboxes.
        $checked_count = count($_POST['qrcode']);
        echo "You have selected following " . $checked_count . " option(s): <br/>";
        // Loop to store and display values of individual checked checkbox.
        foreach ($_POST['qrcode'] as $selected) {
            $output = '
    <br><br><br>
    <div class="QR">
    <center><img src="userQr/' . $selected . '" /> </center>
    </div>
    ';
            echo $output;
        }
    }
}
?>
</form>

函数PrintQR(){
var code=document.getElementsByCassName(“QR”)[0].innerHTML
对于(变量i=0;i
它只是打印第一个数组,有时我会尝试打印,它会给我一个“HTML集合”Javascript错误! 任何帮助都将不胜感激。 感谢大家在Stackoverflow的出色工作。
Ed-

此处仅显式选择第一个元素:

var codes = document.getElementsByClassName("QR")[0].innerHTML
您应该选择所有元素及其上的循环。以下是一个例子:

函数PrintQR(){
var代码=document.queryselectoral('.QR');
codes=[…codes].map(code=>code.innerHTML);
console.log(code.join('\n'));
//在真实页面上取消对以下内容的注释
/*
var popupWin=window.open(“”,“blank”);
popupWin.document.open();
popupWin.document.write(“”+“”+“”+“”+“”+代码+“”+“”+“”+“”);
popupWin.document.close();
setTimeout(函数(){
popupWin.close();
}, 10);
*/
};

打印这个
您已选择以下3个选项:










谢谢您,先生,但现在它只打印最后一个,我指的是打印到打印机,将显示一个弹出窗口,显示的唯一二维码是阵列中的最后一个。。。 我真的希望他们在打印前在弹出的打印预览窗口中显示所有页面,是的,我已经选择了所有页面。 非常感谢。!
Ed-

谢谢,先生,但现在它只打印最后一个,我指的是打印到打印机,将显示一个弹出窗口,显示的唯一二维码是阵列中的最后一个二维码。。。我真的希望他们在打印前在弹出的打印预览窗口中显示所有页面,是的,我已经选择了所有页面。非常感谢。!Ed-我感谢您的帮助,先生,只是想让您知道我正在Dymo Labelwriter 450 Turbo(模板30334)上打印QR,现在他们出现了,我设法隐藏了不必要的HTML,它们不应该像弹簧一样弹出(按钮并打印此)@media Print{body>div{display:none;}body.div{display:block;}现在唯一的问题是,它将整个内容视为一次性打印(第页),因此很明显,这里的页边空白是一个问题:-(有什么想法吗?非常感谢。Ed对于分页符,您可以在此处查看;。对于页边距,我认为您更应该使用打印机设置配置,以找到适合您的用例的正确布局。非常感谢您将我指向CSS。我发现了这个,它对我很有效…div.page{之后分页符:始终;内部分页符:避免;}在DymoLabelWriter 450 Turbo上。二维码布局横向边距模板30334:最小比例:自定义:110(对于足够大的二维图像).Quality 300x600可在激光打印机上获得更好的打印效果。非常感谢–giuseppedeponte。非常感谢。Ed除非您有用于创建QR的画布,否则您最好只保存图像并将其放入HTML,甚至不使用PHP。是的,先生,我有一个生成QR代码并将其存储在MySQL表..当我把它们打印出来的时候,我面临着这个挑战…@giuseppedeponte是对的,没有必要循环,但是我面临的是一个一次性页面与Qr模板(页边距等)…欢迎任何想法。非常感谢先生。