Javascript 在HTML中将类从“不打印”更改为“按复选框打印”
我有很多复选框,我只想打印那些被选中的。我试过切换,直到我检查它为止 这是我的密码: CSSJavascript 在HTML中将类从“不打印”更改为“按复选框打印”,javascript,html,css,Javascript,Html,Css,我有很多复选框,我只想打印那些被选中的。我试过切换,直到我检查它为止 这是我的密码: CSS 不要切换类的可见性,而是切换类本身 $("#coms").click(function() { $(this).parent().toggleClass("dontprint", !$(this).is(":checked")); }); 为了避免对每个ID重复此代码,您还应该为复选框提供一个类,而不是将单击处理程序绑定到特定ID。或者,如果它们都在特定的DIV中,您可以执行以下操作: $(
不要切换类的可见性,而是切换类本身
$("#coms").click(function() {
$(this).parent().toggleClass("dontprint", !$(this).is(":checked"));
});
为了避免对每个ID重复此代码,您还应该为复选框提供一个类,而不是将单击处理程序绑定到特定ID。或者,如果它们都在特定的DIV中,您可以执行以下操作:
$(“#容器:复选框”)。单击(函数(){
$(this.closest(“.hidable”).toggleClass(“dontprint”,!this.checked);
});代码>
.dontprint{
背景颜色:灰色;
}
@媒体印刷品{
dontprint先生{
显示:无;
}
}
复选框1
阅读
编辑
复选框2
阅读
编辑
复选框3
阅读
编辑
当什么都没有显示时,如何单击任何内容,css会将显示设置为“无”。由于他有“许多复选框”,他还需要确保使用类而不是ID,例如$('.coms')
。我在选中复选框时出现此错误:错误:语法错误,无法识别的表达式:不支持的伪:单击抛出新错误(“语法错误,无法识别的表达式:“+msg”);很抱歉,:单击的
应该被选中
:选中。parent()
是错误的,我不知道复选框嵌套得有多深。我已将其更改为在DIV上使用一个应在打印期间隐藏的可隐藏的类,并使用.closest()
查找它。这是一个很好的示例,但由于某些原因,它对我不起作用。但这确实起到了作用:$(“.dontprint”).css(“显示”、“块”)代码>。现在,只要我能在取消选中时让它切换:)
<div class="dontprint">
<div class="checkbox"> <label><input type="checkbox"id="coms"> \\Private\Computer Services </label> </div>
<div class="coms">
<select class="form-control">
<option >READ</option>
<option >EDIT</option>
</select>
</div>
</div>
$("#coms").click(function(){
$(".dontprint").toggle();
});
$("#coms").click(function() {
$(this).parent().toggleClass("dontprint", !$(this).is(":checked"));
});