javascript - 如何使单选按钮显示/隐藏输入表单
问题描述
我正在编写一个网站,我想知道如何让我的单选按钮显示/隐藏输入字段。
我使用的站点只允许我编辑 css 和 javascript,因此我无法更改 html,但单选按钮和输入字段上有 ID。
本质上,我正在处理产品页面,并且当有人只选择购买一种产品而隐藏其他产品时,我只想显示一个下拉菜单。如果他们选择购买两个单选按钮,则显示第二个......等
[ https://codepen.io/adrian-england/pen/bmKPxO][1]
HTML
Buy One <input type="radio" name="yesno" id="one">
Buy Two <input type="radio" name="yesno" id="two">
Buy Three <input type="radio" name="yesno" id="three">
Buy Four <input type="radio" name="yesno" id="three">
<br>
<select id="first">
<option value="chevy">Chevy</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
<br>
<select id="second">
<option value="chevy">Chevy</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
<br>
<select id="third">
<option value="chevy">Chevy</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
<br>
<select id="fourth">
<option value="chevy">Chevy</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
CSS
.visible { display: block; }
.hidden { display: none;}
JS
function hideSelector (){
var seltwo = document.getElementById("second");
seltwo.addClass("hidden");
};
document.getElementById("one").addEventListener("click", hideSelector);
解决方案
如果你使用纯 JavaScript 而不是 jQuery,你想添加到 classList:
function hideSelector (){
var seltwo = document.getElementById("second");
seltwo.classList.add("hidden");
};
document.getElementById("one").addEventListener("click", hideSelector);
如果你想使用 jQuery,那么你可以使用它来选择元素,如下所示:
function hideSelector (){
var seltwo = $("#second");
seltwo.addClass("hidden");
// Additionally you could one line this $('#second').addClass('hidden');
};
document.getElementById("one").addEventListener("click", hideSelector);
推荐阅读
- docker - 我尝试将创建的数据库从名为 mydb 的主机挂载到 mysql 容器上,这是我尝试过的:
- c# - 如何修复:“IDataProtectionBuilder”不包含“PersistKeysToDbContext”的定义并且没有可访问的扩展
- vb.net - 迁移到 O365 后 Office.InterOp 是否仍在工作
- spring-boot - Sonar/Jacoco 测量的测试覆盖率会因每次提交而无明显原因下降
- html - 在 HTML 中加载多个相同的角度选择器标签
- c++ - 通用类型转换
- java - 如何在android中获得准确的UTC时间戳
- c# - 实体框架核心在第一次调用时太慢了
- excel - 试图动态地将文本框添加到用户窗体?
- android - 如何从 Paint 中获取文本基线