如何使用纯JavaScript通过选中复选框来显示表?
当复选框被选中但不起作用时,我需要显示一个表。下面是我的脚本、复选框和表格如何使用纯JavaScript通过选中复选框来显示表?,javascript,html,css,Javascript,Html,Css,当复选框被选中但不起作用时,我需要显示一个表。下面是我的脚本、复选框和表格 <script> function checked() { var checkBox = document.getElementById("check"); var concession = document.getElementById("hidden"); if (checkBox.checked == true){
<script>
function checked() {
var checkBox = document.getElementById("check");
var concession = document.getElementById("hidden");
if (checkBox.checked == true){
concession.style.display = "block";
} else {
concession.style.display = "none";
}
}
</script>
<input type = "checkbox" name = "discount" id = "check" onclick = "checked()">
<table id = "hidden" class = "center" style = "display:none">
<tr>
<th>102-2 Taxable income is reduced by 400AZN</th>
<th></th>
<th><input type = "radio" name = "400"></th>
</tr>
<tr>
<th>102-3 Taxable income is reduced by 200AZN</th>
<th></th>
<th><input type = "radio" name = "200"></th>
</tr>
<tr>
<th>102-4 Taxable income is reduced by 100AZN</th>
<th></th>
<th><input type = "radio" name = "100"></th>
</tr>
<tr>
<th>102-5 Taxable income is reduced by 50AZN</th>
<th></th>
<th><input type = "radio" name = 50"></th>
</tr>
</table>
函数检查(){
var checkBox=document.getElementById(“检查”);
var特许权=document.getElementById(“隐藏”);
如果(checkBox.checked==true){
devention.style.display=“block”;
}否则{
devention.style.display=“无”;
}
}
102-2应纳税所得额减少400AZN
102-3应纳税所得额减少200AZN
102-4应纳税所得额减少100AZN
102-5应纳税所得额减少50AZN
当您使用像onclick
这样的内联处理程序时,您需要分配一个函数,因此onclick=“checked”
是正确的方法
作为旁注,最好通过addEventListener()
分配事件
<input type="checkbox" name="discount" id="check">
<table id="hidden" class="center" style="display:none">
...
</table>
<script>
var concession = document.getElementById("hidden");
document.getElementById("check").addEventListener('click', function() {
concession.style.display = (this.checked)? "block" : "none";
});
</script>
您必须将事件侦听器添加到复选框:
var checkbox = document.querySelector("#check");
checkbox.addEventListener( 'change', function() {
var concession = document.getElementById("hidden");
if(this.checked) {
concession.style.display='block';
} else {
concession.style.display='none';
}
});
您将收到此问题,因为已选中
是保留名称。尝试将函数名重命名为其他名称,如OnCheckboxClicked
,以解决此问题
演示:
函数OnCheckboxClicked(){
var checkBox=document.getElementById(“检查”);
var特许权=document.getElementById(“隐藏”);
如果(checkBox.checked==true){
devention.style.display=“block”;
}否则{
devention.style.display=“无”;
}
}
102-2应纳税所得额减少400AZN
102-3应纳税所得额减少200AZN
102-4应纳税所得额减少100AZN
102-5应纳税所得额减少50AZN
可能checked()
受到限制,请更改函数的名称:
函数已更改(){
var checked=document.getElementById(“check”).checked;
var特许权=document.getElementById(“隐藏”);
如果(选中){
devention.style.display=“block”;
}否则{
devention.style.display=“无”;
}
}
102-2应纳税所得额减少400AZN
102-3应纳税所得额减少200AZN
102-4应纳税所得额减少100AZN
102-5应纳税所得额减少50AZN
我们还需要在DOMContentLoaded方法中添加此元素。不一定,在JS中使用元素之前,请确保在DOM中定义了该元素。上次输入中有一个输入错误:name=50“
。
var checkbox = document.querySelector("#check");
checkbox.addEventListener( 'change', function() {
var concession = document.getElementById("hidden");
if(this.checked) {
concession.style.display='block';
} else {
concession.style.display='none';
}
});