jquery - jQuery Radio 选择显示相关字段
问题描述
所以我有一个非常基本的表单,我使用单选按钮来确定需要显示的字段。如果选择了一个,那么它将显示按类关联的字段列表。如果选择了另一个,它应该显示这些字段,而其他字段应该被隐藏(这是我有点绊倒的地方)。
表格如下所示:
<div class="col-sm-10">
<input type="radio" value="Internal Form" name="training_event[registration]" id="training_event_registration_internal_form">
<label for="training_event_registration_true">Internal Form</label>
<div class="row">
<div class="col-sm-10">
<input type="radio" value="External URL" name="training_event[registration]" id="training_event_registration_external_url">
<label for="training_event_registration_false">External URL</label>
</div>
</div>
</div>
其他字段包含在以下内容中:
<div class="internal-form">
</div>
<div class="external_url">
</div>
我以为我可以做类似的事情:
$(document).ready(function () {
$('.internal-form).hide();
$('.external_url').hide();
$('#training_event_registration_internal_form').click(function (){
if ($(this).is(":checked")) {
$('.internal-form').show();
} else {
$('.internal-form').empty();
$('.internal-form').css("display", "none");
$('.external_url').show();
}
}
所以在这里唯一能正常工作的是从一开始就隐藏在两种形式上。
那么如何在选择一个字段时显示关联字段,然后在选择另一个字段时切换?
解决方案
你可以:
通过 CSS隐藏两个结果
div
的internal-form和external_url ;将 jQuery
click
方法应用于input
带有type
radio和name
training_event[registration]的 s以切换结果div
s 的可见性。
$(function() {
$('input:radio[name="training_event[registration]"]').click(function() {
if ($(this).val() == 'Internal Form') {
$('.internal-form').show();
$('.external_url').hide();
} else {
$('.internal-form').hide();
$('.external_url').show();
}
});
});
.internal-form, .external_url {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-sm-10">
<input type="radio" value="Internal Form" name="training_event[registration]" id="training_event_registration_internal_form">
<label for="training_event_registration_true">Internal Form</label>
<div class="row">
<div class="col-sm-10">
<input type="radio" value="External URL" name="training_event[registration]" id="training_event_registration_external_url">
<label for="training_event_registration_false">External URL</label>
</div>
</div>
</div>
<div class="internal-form">.internal-form</div>
<div class="external_url">.external-url</div>
推荐阅读
- python - 没有足够的值来解包(预期为 2,得到 0)
- java - 为什么我的代码不能识别符号而不是编译
- python - 在 WLST 中导入 python 模块(weblogic 脚本工具)
- python - 在 python pandas 中使用第一行的一部分和第二行的一部分作为列标题
- javascript - Facebook 广告:如何创建像素自定义 Javascript 事件来检测对 Youtube 视频的点击
- amazon-web-services - 关于验证 Secrets Manager 的凭证轮换 Lambda 函数是否成功的问题
- angular - 如何从指令中访问某种类型的所有子组件?
- php - 删除一年中的月份
- java - Long 和 Double 比较 (==) 的行为不同
- python - 如何从没有numpy的多维数组中提取一行?