[英]Displaying Items Based On HTML 5 Checkbox Input
如果我有两个这样的HTML 5复选框...
<input name="your_name" value="your_value1" type="checkbox">
<input name="your_name2" value="your_value2" type="checkbox">
如何根据用户输入显示文本区域(或任何其他HTML 5项目)? 例如,如果他们选择value1显示一个文本块,则如果他们选择value2显示另一个文本块。 无需重新加载页面或提交表单的最佳方法是什么?
谢谢。
如果元素是兄弟姐妹,则最简单的方法是使用:checked
伪类来确定该复选框是否已选中。 然后,您可以使用常规的同级选择器~
,根据选中的状态选择以下同级元素:
[name="your_name"]:checked ~ .block1 { display: block; } [name="your_name2"]:checked ~ .block2 { display: block; } p { display: none; }
<input name="your_name" value="your_value1" type="checkbox"> <input name="your_name2" value="your_value2" type="checkbox"> <p class="block1">Block 1</p> <p class="block2">Block 2</p>
如果要执行JavaScript路由,则需要将change
事件侦听器附加到checkbox元素。
例如:
var checkbox = document.querySelector('[name="your_name"]'), text = document.querySelector('.text'); checkbox.addEventListener('click', function (e) { text.style.display = e.target.checked ? 'block' : 'none'; });
<input name="your_name" value="your_value1" type="checkbox"> <p class="text" style="display: none">Block 1</p>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.