如何在选中多个复选框时显示 div?
How to show div when multiple chekboxes are checked?
如果在复选框的第一个字段集中选中选项 2、3、4,我需要显示 div 和 id="question5_1_block"
。其中之一或全部,或者只是 2 和 3、3 和 4 等等。任何,这都不是选项 1。
我对此很陌生,设法让它们显示和隐藏,但是如果你取消选中其中一个,div 就会隐藏,尽管一些复选框仍然被选中并且它应该保留在那里,除非没有选择任何东西或选中第一个复选框。
提前感谢您的帮助
$(document).ready(function() {
$("#question5_1_block").hide();
})
$(function() {
$("#Question52").click(function() {
if ($(this).is(":checked")) {
$("#question5_1_block").show();
} else {
$("#question5_1_block").hide();
}
});
$("#Question53").click(function() {
if ($(this).is(":checked")) {
$("#question5_1_block").show();
} else {
$("#question5_1_block").hide();
}
});
$("#Question54").click(function() {
if ($(this).is(":checked")) {
$("#question5_1_block").show();
} else {
$("#question5_1_block").hide();
}
});
});
<script src=https://code.jquery.com/jquery-1.12.4.min.js></script>
<script src=https://code.jquery.com/jquery-3.1.0.js></script>
<div class="page">
<div id="form">
<h3>Do you have an account?</h3>
<p class="mb-0">Multiple answers possible </p>
<fieldset>
<p class="align-left">
<input type="Checkbox" id="Question51" name="q5" value="I have it already" />I have it already<br>
<input type="Checkbox" id="Question52" name="q5" value="No, but I would like to" />No, but I would like to<br>
<input type="Checkbox" id="Question53" name="q5" value="No, tell me more about it" />No, tell me more about it<br>
<input type="Checkbox" id="Question54" name="q5" value="No, but inform me when you have a promotion" />No, but inform me when you have a promotion
</p>
</fieldset>
<div id="msg5"></div>
<div id="question5_1_block">
<h3>How should we contact you</h3>
<fieldset>
<p class="align-left">
<input type="Checkbox" id="Question5_1" name="q5_1" value="By phone" />By phone<br>
<input type="Checkbox" id="Question5_2" name="q5_1" value="By email" />By email<br>
<input type="Checkbox" id="Question5_3" name="q5_1" value="By post" />By post
</fieldset>
</div>
</div>
</div>
</form>
$(function() {
$("#Question52").click(showOrHideDiv);
$("#Question53").click(showOrHideDiv);
$("#Question54").click(showOrHideDiv);
});
function showOrHideDiv() {
if (condition()) {
$("#question5_1_block").show();
} else {
$("#question5_1_block").hide();
}
}
function condition() {
return $("#Question52").is(":checked")
|| $("#Question53").is(":checked")
|| $("#Question54").is(":checked");
}
应该有效的快速示例
如果在复选框的第一个字段集中选中选项 2、3、4,我需要显示 div 和 id="question5_1_block"
。其中之一或全部,或者只是 2 和 3、3 和 4 等等。任何,这都不是选项 1。
我对此很陌生,设法让它们显示和隐藏,但是如果你取消选中其中一个,div 就会隐藏,尽管一些复选框仍然被选中并且它应该保留在那里,除非没有选择任何东西或选中第一个复选框。
提前感谢您的帮助
$(document).ready(function() {
$("#question5_1_block").hide();
})
$(function() {
$("#Question52").click(function() {
if ($(this).is(":checked")) {
$("#question5_1_block").show();
} else {
$("#question5_1_block").hide();
}
});
$("#Question53").click(function() {
if ($(this).is(":checked")) {
$("#question5_1_block").show();
} else {
$("#question5_1_block").hide();
}
});
$("#Question54").click(function() {
if ($(this).is(":checked")) {
$("#question5_1_block").show();
} else {
$("#question5_1_block").hide();
}
});
});
<script src=https://code.jquery.com/jquery-1.12.4.min.js></script>
<script src=https://code.jquery.com/jquery-3.1.0.js></script>
<div class="page">
<div id="form">
<h3>Do you have an account?</h3>
<p class="mb-0">Multiple answers possible </p>
<fieldset>
<p class="align-left">
<input type="Checkbox" id="Question51" name="q5" value="I have it already" />I have it already<br>
<input type="Checkbox" id="Question52" name="q5" value="No, but I would like to" />No, but I would like to<br>
<input type="Checkbox" id="Question53" name="q5" value="No, tell me more about it" />No, tell me more about it<br>
<input type="Checkbox" id="Question54" name="q5" value="No, but inform me when you have a promotion" />No, but inform me when you have a promotion
</p>
</fieldset>
<div id="msg5"></div>
<div id="question5_1_block">
<h3>How should we contact you</h3>
<fieldset>
<p class="align-left">
<input type="Checkbox" id="Question5_1" name="q5_1" value="By phone" />By phone<br>
<input type="Checkbox" id="Question5_2" name="q5_1" value="By email" />By email<br>
<input type="Checkbox" id="Question5_3" name="q5_1" value="By post" />By post
</fieldset>
</div>
</div>
</div>
</form>
$(function() {
$("#Question52").click(showOrHideDiv);
$("#Question53").click(showOrHideDiv);
$("#Question54").click(showOrHideDiv);
});
function showOrHideDiv() {
if (condition()) {
$("#question5_1_block").show();
} else {
$("#question5_1_block").hide();
}
}
function condition() {
return $("#Question52").is(":checked")
|| $("#Question53").is(":checked")
|| $("#Question54").is(":checked");
}
应该有效的快速示例