我正在使用JS根据发送给它的值在模态窗口中设置一系列复选框。我可以打印模态窗口 - 但是,只打印默认值,而不是任何动态更新的值。
我怎么能
模态窗口的HTML
<div id="switchSettings" class="modal" style="z-index: 4; display: none;">
<input type="checkbox" name="check[1]" id="checkCriteria[1]" value="1" />
<input type="checkbox" name="check[2]" id="checkCriteria[2]" value="2" />
<input type="checkbox" name="check[3]" id="checkCriteria[3]" value="4" />
...(and so on)
<input type="checkbox" name="check[21]" id="checkCriteria[21]" value="1048576" />
</div>
处理页面上的PHP函数汇总了所有设置复选框,并将整数,唯一ID和友好名称存储到数据库中。向用户显示已保存数据的友好名称以单击
设置复选框数组的函数 - 使用二元运算符将Int转换为20个奇数“dip开关”(通过css设置样式的复选框)。
function setCheckArray(binaryValues) {
document.getElementById("switchSettings").style.display = "block";
for(i = 1; i < 22; i++) {
checkboxname = "checkCriteria[" + i + "]";
document.getElementById(checkboxname).checked = false;
if(document.getElementById(checkboxname).value == (document.getElementById(checkboxname).value & binaryValues)) {
document.getElementById(checkboxname).checked = true;
}
}
}
仅打印模态
的功能function printModalWindow(modalID){
// To us pass document.getElementById('divtoprint') as argument
var WindowObject = window.open("", "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes");
WindowObject.document.writeln("<link rel=\"stylesheet\" href=\"./css/css.css\">");
WindowObject.document.writeln("<link rel=\"stylesheet\" href=\"./css/font-awesome.css\">");
WindowObject.document.writeln(modalID.innerHTML);
WindowObject.document.close();
setTimeout(function(){
WindowObject.focus();
WindowObject.print();
WindowObject.close();
},6000);
}
用户显示带有“onclick = setCheckArray(3748592);”的按钮;等导致模态弹出并设置拨动开关数组。这部分工作正常,它保持打印中模态的开关位置(复选框值)。
有什么建议吗?