复选框切换内容部分不适用于所有复选框
Checkbox toggle content section not working for all checkboxes
我创建了 4 个带有详细信息的复选框切换按钮,但同时只有一个复选框切换按钮起作用,而当我单击另一个 3 切换按钮不起作用时,我该如何更改 html 代码的脚本以便使所有复选框工作。 P
<!-- Check box dropdown -->
<script>
function myFunction() {
// Get the checkbox
var checkBox = document.getElementById("myCheck");
// Get the output text
var text = document.getElementById("text");
// If the checkbox is checked, display the output text
if (checkBox.checked == true){
text.style.display = "block";
} else {
text.style.display = "none";
}
}
</script>
<!-- Check box dropdown -->
<div class="checkbox">
<label><input type="checkbox" id="chkNIRF" onclick="myFunction()"><p class="text-grey">Demo</p></label>
<label><input type="checkbox" id="chkNAAC" onclick="myFunction()"><p class="text-grey">Demo</p></label>
<label><input type="checkbox" id="chkINI" onclick="myFunction()"><p class="text-grey">Demo</p></label>
<label><input type="checkbox" id="chkIoE" onclick="myFunction()"><p class="text-grey">Demo</p></label>
</div>
<p id="text" id="text" style="display:none">Checkbox is CHECKED!</p>
<p id="text" id="text" style="display:none">Checkbox is CHECKED!</p>
<p id="text" id="text" style="display:none">Checkbox is CHECKED!</p>
<p id="text" id="text" style="display:none">Checkbox is CHECKED!</p>
添加了html和javascript代码,请帮助解决问题...
您没有将复选框的 ID 提供给函数。
如果您解析 ID,您的代码应该可以工作:
<input type="checkbox" id="chkNIRF" onclick="myFunction('chkNIRF')">
function myFunction(x) {
// Get the checkbox
var checkBox = document.getElementById(x);
根据您的评论,这里 fiddle 执行您在评论中的要求:https://jsfiddle.net/zLvm46jw/1/
为 p 标签添加单独的 ID
您可以在该函数上使用事件参数,然后您可以像这样获得单击复选框的目标:
function myFunction(event) { // Set event argument
var checkBox = event.target; // Get the clicked checkbox
而在 html 方面,您需要在函数中指定事件:
<input type="checkbox" id="chkNIRF" onclick="myFunction(event)">
我创建了 4 个带有详细信息的复选框切换按钮,但同时只有一个复选框切换按钮起作用,而当我单击另一个 3 切换按钮不起作用时,我该如何更改 html 代码的脚本以便使所有复选框工作。 P
<!-- Check box dropdown -->
<script>
function myFunction() {
// Get the checkbox
var checkBox = document.getElementById("myCheck");
// Get the output text
var text = document.getElementById("text");
// If the checkbox is checked, display the output text
if (checkBox.checked == true){
text.style.display = "block";
} else {
text.style.display = "none";
}
}
</script>
<!-- Check box dropdown -->
<div class="checkbox">
<label><input type="checkbox" id="chkNIRF" onclick="myFunction()"><p class="text-grey">Demo</p></label>
<label><input type="checkbox" id="chkNAAC" onclick="myFunction()"><p class="text-grey">Demo</p></label>
<label><input type="checkbox" id="chkINI" onclick="myFunction()"><p class="text-grey">Demo</p></label>
<label><input type="checkbox" id="chkIoE" onclick="myFunction()"><p class="text-grey">Demo</p></label>
</div>
<p id="text" id="text" style="display:none">Checkbox is CHECKED!</p>
<p id="text" id="text" style="display:none">Checkbox is CHECKED!</p>
<p id="text" id="text" style="display:none">Checkbox is CHECKED!</p>
<p id="text" id="text" style="display:none">Checkbox is CHECKED!</p>
添加了html和javascript代码,请帮助解决问题...
您没有将复选框的 ID 提供给函数。
如果您解析 ID,您的代码应该可以工作:
<input type="checkbox" id="chkNIRF" onclick="myFunction('chkNIRF')">
function myFunction(x) {
// Get the checkbox
var checkBox = document.getElementById(x);
根据您的评论,这里 fiddle 执行您在评论中的要求:https://jsfiddle.net/zLvm46jw/1/
为 p 标签添加单独的 ID
您可以在该函数上使用事件参数,然后您可以像这样获得单击复选框的目标:
function myFunction(event) { // Set event argument
var checkBox = event.target; // Get the clicked checkbox
而在 html 方面,您需要在函数中指定事件:
<input type="checkbox" id="chkNIRF" onclick="myFunction(event)">