当Select(选择)显示'其他'只使用CSS
How to reveal a Text Field on a form when the Select shows 'Other' using just CSS
我正在为客户端创建一个表单,如果用户在下拉菜单"选择"中选择"其他",则会出现一个文本框。否则就应该隐藏起来。我在很多网站上都看到过这种情况。
我可以很容易地为单选按钮使用这样的代码:
.the-text-input-box {
opacity: 0;
}
input[type="radio"]:checked ~ .the-text-input-box {
opacity: 1;
}
但我不知道如何以同样的方式针对Selector中的"Other"选项。
我希望只使用CSS就可以实现这一点。
你不能只使用CSS来实现这一点。您需要Javascript,因为您选择的选项不是DOM中输入框的同级选项:
<select name="mySelect" id="mySelect">
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="other">Other</option>
</select>
<input type="text" name="input-box" id="inputBox" cols="30" rows="10" class="hidden"/>
有了复选框,这是可能的,因为输入框直接跟在你的框后面:
<input type="checkbox" name="checkme" id="checkme"/>
<input type="text" name="myInput" id="myInput" />
因此,在Javascript中,您需要在选择时使用一个事件侦听器来隐藏/显示输入框。像这样的东西应该能起到作用:http://jsfiddle.net/1cevh233/
JS-
var selectEl = document.getElementById('mySelect');
var inputBox = document.getElementById('inputBox');
var listener = function(e){
if(selectEl.value == "other"){
inputBox.className="";
}else{
inputBox.className="hidden";
}
}
selectEl.addEventListener('change',listener);
CSS
.hidden{
display:none;
}
相关文章:
- 如何使用CSS设置所选选项的样式,而不设置所有其他选项的样式
- 当Select(选择)显示'其他'只使用CSS
- 如何在更改后在其他页面上保持相同的css
- jQuery获取其他标签's css并将其添加到其他
- Internet Explorer CSS类样式没有'如果存在具有相同类名的其他元素,则不适用
- AJAX没有加载其他js和css风格
- 为什么使用 jQuery 的 css() 函数而不是 maxHeight 或其他命名的 CSS 函数
- CSS 在基于 URL 上工作,但不在网站的其他页面中使用.代码点火器
- 如何将图像链接与 HTML 和 CSS 一起使用时,悬停时在其他位置显示图像
- 如何使用css或js或其他任何东西来区分高分辨率手机和桌面
- 将除 JS CSS 等以外的其他文件包含在 HTML 中
- jQuery + CSS,在悬停时删除其他图像,并具有类似淡入淡出的过渡
- CSS 导航链接样式:删除其他元素的样式,并在将鼠标悬停在选定元素上时删除双边框
- 如何调整从其他用户加载的图像的大小,以便保持尺寸,同时使用 css 设置最大宽度和高度?(HTML/JS/CSS)
- 使用CSS和JavaScript点击,链接颜色在被点击和激活时会发生变化,直到我点击其他链接
- JS,Rails,CSS - 将按钮与页面上其他内容的底部对齐
- 点击触摸设备上的其他位置,关闭CSS下拉菜单
- JavaScript 编辑:如何禁用 CSS 类并在当前时添加其他类
- 使用javascript将CSS类添加到具有其他类名的所有元素中
- 如何将CSS应用于除悬停元素之外的其他元素