打印时需要隐藏未选中的框

时间:2019-06-12 18:34:43

标签: javascript html css ms-word

我的老板需要一个html文档或word文档。这样,当他去打印文档时,它只会显示他已选中的框。复选框列表很大,因此他不想每次都打印整个内容。只是对特定客户重要的。

我尝试了几种javascript方法,而css隐藏了这两种方法都没有用。还尝试过使用Microsoft Word中的开发人员宏。这些都没有给我我所需要的。

<form id="form1" name="form1" method="post" action="">
 <p>
 <label>
  <input type="checkbox" name="CheckboxGroup1" value="checkbox" id="box" />
  Main.</label>
<br />
 <label>
  <input type="checkbox" value="checkbox" name="CheckboxGroup1"       id="boxchecked" />
  Other.</label>
<br />
</p>
</form>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script>
$(document).ready(function(){
    $("#boxchecked").click(function (){
        if ($("#boxchecked").prop("checked")){
            $("#hidden").hide();
        }else{
            $("#hidden").show();
        }              
    });
});
</script>



' Determine if there are any items checked.
If checkedListBox1.CheckedItems.Count <> 0 Then
   ' If so, loop through all checked items and print results.
   Dim x As Integer
   Dim s As String = ""
   For x = 0 To checkedListBox1.CheckedItems.Count - 1
      s = s & "Checked Item " & (x + 1).ToString & " = " & CheckedListBox1.CheckedItems(x).ToString & ControlChars.CrLf
   Next x
   MessageBox.Show (s)
End If

2 个答案:

答案 0 :(得分:0)

您将使用类似下面的媒体查询之类的内容,但要确保所使用的浏览器兼容。

https://www.w3schools.com/cssref/sel_checked.asp

@media print { 
#boxchecked:not(:checked){ display: none; }
}

或者在页面包含许多复选框元素的情况下,您可以创建一个css类并将媒体查询应用于所有这些元素:

@media print { 
.cbx:not(:checked){ display: none; }
}

希望有帮助! :)

答案 1 :(得分:0)

您脚本中的逻辑似乎试图隐藏或显示ID为hidden的某些元素,我在您的HTML中都看不到该元素。

但是,不管有没有更简单的方法来使用CSS做到这一点。

@media print {
  input[type=checkbox]:not(:checked) {
    display: none;
  }
}