javascript - 如何通过单选按钮进行选项卡切换
问题描述
我的网络中有一个用户注册页面,当用户选择它时,我需要通过无线电切换表单详细信息
像这样
<form>
<label>1: <input type=radio name="userType" value="1"/></label>
<br>
<label>2: <input type=radio name="userType" value="2"/></label>
<br>
<label>3: <input type=radio name="userType" value="3"/></label>
<br>
<div class="tab-1"><input placeholder="UserType 1 Input"></div>
<div class="tab-2"><input placeholder="UserType 2 Input"></div>
<div class="tab-3"><input placeholder="UserType 3 Input"></div>
</form>
我可以只使用html
,js
和css
解决方案
也许最简单的方法是:
document.addEventListener('DOMContentLoaded', () => {
const form = document.querySelector('form');
const tabs = form.querySelectorAll('.tab');
form.addEventListener('change', ({target}) => {
if (target.name !== 'userType') return;
const tabToShow = form
.querySelector(`.tab-${target.value}`);
tabs.forEach(tab => {
const tabInput = tab.querySelector('input');
tabInput.value = '';
tab.classList.add('hidden');
});
tabToShow.classList.remove('hidden');
})
});
.hidden {
display: none;
}
<form>
<label>1: <input checked type=radio name="userType" value="1"/></label>
<br>
<label>2: <input type=radio name="userType" value="2"/></label>
<br>
<label>3: <input type=radio name="userType" value="3"/></label>
<br>
<div class="tab tab-1"><input placeholder="UserType 1 Input"></div>
<div class="tab tab-2 hidden"><input placeholder="UserType 2 Input"></div>
<div class="tab tab-3 hidden"><input placeholder="UserType 3 Input"></div>
</form>
推荐阅读
- node.js - 用字符串键和函数值定义对象的类型
- python - 我在 Python 中不断收到 NameError,说事情没有定义,尽管我确实定义了它们
- c - 需要用什么算法来解决这个问题的帮助
- react-native - 如何在 React Native 中检测慢速互联网连接
- swift - Swift NSPredicate SUBQUERY with NOT IN?
- angularfire - 给出 fire-base --version 时出现错误。错误 - firebase' 无法识别
- r - e1071 svm() 函数的最大迭代次数是多少?
- wso2 - WSO2-IS:用户存储在任何更改后删除
- javascript - 尝试在 nuxt 中使用库时获取意外令牌 {
- java - 前台服务在 Android 9 (API 28) 中不起作用