当输入标签复选框被选中时显示文本
Display text when input tag checkbox is selected
我试图在用户选择input
标记时显示文本,
例如,我有以下代码:
<tr>
<td class="align">
Yes <br/>
<input type="checkbox" />
</td>
</tr>
一旦用户点击该复选框,将出现以下文本:
"如果您选择是,....."
和我不确定如果JavaScript将是最好的路径做到这一点。
但是,如果是的话,会不会是这样的:
<script>
$(function(){
if(input was checked)//not sure what would go here, new to Javascript
display results//not sure either, new to Javascript
});
</script>
如果你可以把文字放在后面,你可以在CSS中这样做。
Yes<br />
<input type="checkbox" />
<span class="message">You have said Yes</span>
.message {
display: none;
}
input[type=checkbox]:checked ~ .message {
display: block;
}
使用jQuery,要获取复选框的值,执行如下操作
$("input[type='checkbox']").val();
或者你可以通过
获得class/id $('.chekboxClass').val();
$('#checkboxId').val();
无需JS,
你可以通过CSS解决方案,
来实现这一点使用相邻的兄弟选择器+
和:checked
.text {
display: none
}
input:checked + .text {
display: inline-block
}
<table>
<tr>
<td>
<span class="select">yes</span>
<input type="checkbox" />
<span class="text">If you have selected yes,.....</span>
</td>
</tr>
</table>
$("#checkbox").click(function() {
$("#clickedYes").toggle($(this).prop("checked"));
});
#clickedYes {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Yes <input id="checkbox" type="checkbox" />
<span id="clickedYes">If you have selected yes....</span>
js:
if($('input').attr('checked')) {
$('#box').append("<div>If you have selected yes,.....</div>");
}
html: <tr>
<td class="align" id="box">
<div>Yes</div>
<input type="checkbox"/>
</td>
</tr>
您需要将onchange侦听器连接到复选框,并让它调用您的函数。
这里有一些代码片段可以让你开始。
var resultEle = document.getElementById("result");
function showAnswer(ele) {
if(ele.checked) {
result.innerHTML = "You checked Yes!";
}
else {
result.innerHTML = "";
}
}
<table>
<tr>
<td class="align">
Yes<br />
<input type="checkbox" onchange="showAnswer(this)" />
</td>
<td>
<span id="result"></span>
</td>
</tr>
</table>
编辑:看起来你正在使用JQuery,我的答案是纯Javascript。我强烈建议您在使用JQuery之前学习一些javascript,这样您就可以完全理解幕后发生的事情。MDN有一个很棒的初学者指南!https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide
为将来的访问者扩展Andrew Herder和dippas的答案,您可以在同一页面上使用id标记进行多次操作:
<input id="item1-checkbox" type="checkbox" />Mark Yes
<span id="item1">You have said Yes</span>
<input id="item2-checkbox" type="checkbox" />Mark Agree
<span id="item2">You have said Agree</span>
.
<style>
#item1 {
display: none
}
input#item1-checkbox:checked ~ #item1 {
display: inline-block
}
#item2 {
display: none
}
input#item2-checkbox ~ #item2 {
display: inline-block
}
</style>
相关文章:
- xmlhttp.responseText不显示文本
- 如何在MVC中使用jQuery在文本框旁边显示文本
- 根据页面的位置突出显示文本中的字符
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 操作javascript变量[HTML]以只显示文本
- 如何显示文本长度,即使它超过ng最大长度
- 如何在悬停时显示文本而不移动页面上的内容
- ASP.NET MVC,在文本框旁边显示文本
- 可单击滚动图像以显示文本框
- 使用鼠标悬停JavaScript/HTML显示文本
- 延迟高亮显示文本区域中的文本
- 选择“选择选项”时显示文本.怎么做
- 无法使用JavaScript在画布上显示文本
- 在不更改HTML源代码的情况下,在管理员TinyMCE编辑器中突出显示文本
- 将鼠标悬停在图像上时显示文本
- javascript:在for循环中使用settimeout来定期显示文本
- 一页主题搜索/用下一个按钮突出显示文本
- JavaScript 在更改选择时不显示文本区域
- 用于突出显示文本的JQuery/JavaScript插件
- 模式显示文本区域内容不是字符串