如何通过计算表单中选中的复选框的数量来填充HTML文本框
How do I populate an HTML text box by counting the number of checked checkboxes in a form?
我有一个简单的HTML
form
,大约有10个checkboxes
和一个文本字段在它们的右边。我要做的是计算checked
的checkboxe
s的数量,并在选中它们后立即在右侧的文本字段中显示此数字。我的form
看起来像这样:
<form id="myForm">
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input type="checkbox" value="box" name="checkbox"/>
<input id="totalbox" type="text" value="" />
</form>
我已经环顾四周的堆栈,但还没有能够找到我正在寻找的答案
谢谢
在jQuery中获取计数:
$('#totalbox').val($('#myForm input[type=checkbox]:checked').length);
在纯JavaScript中获取计数:
var myForm = document.getElementById('myForm');
var inputs = myForm.getElementsByTagName('input');
var count = 0;
for(var i=0; i<inputs.length; i++) {
if (inputs[i].getAttribute('type')=='checkbox' && inputs[i].checked) count++;
}
document.getElementById('totalbox').value = count;
你可以这样做
$(":checkbox").change(function(){
/* $(":checkbox:checked") will select all checkboxes in entire document, if you want for your form only then you can use my $("#myForm:checkbox:checked") */
$('#totalbox').val($(":checkbox:checked").length);
});
下面是一些非jquery的逻辑:
<form id="myForm">
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input type="checkbox" value="box" name="checkbox" onchange="countChecks();"/>
<input id="totalbox" type="text" value="" />
</form>
<script>
function countChecks() {
var chks = document.getElementsByTagName('input');
var total = 0;
for (var i = 0, l = chks.length; i < l; i++) {
if (chks[i].type == 'checkbox') {
if (chks[i].checked) {
total++;
};
}
}
document.getElementById("totalbox").value = total;
}
</script>
好运既然大多数回复都是jquery
,即使没有jquery
标签,其余的都很长,这里有一个小的js版本:
var checkboxes= document.querySelectorAll('input[type="checkbox"]');
for(var i=0;i<checkboxes.length;i++){
checkboxes[i].addEventListener('change', checked)
}
function checked(){
var checkboxes= document.querySelectorAll('input[type="checkbox"]:checked');
document.getElementById('totalbox').value= checkboxes.length;
}
JSFiddle
您可以使用jQuery实现类似的功能。
$(function($){
$('#myForm input:checkbox').click( function(){
$('#totalbox').val( $('#myForm :checkbox:checked').length );
});
});
相关文章:
- 单击鼠标,用MySQL数据填充html表单输入字段
- 使用字符串数组中的字符填充 HTML 表
- 在选择下拉选项时,从mysql数据库填充HTML表单字段
- 试图用随机选择的单词填充html中的ul.JS
- 用Javascript中的JSON数组填充HTML
- 用用户上次登录时选择的内容填充html表单
- 使用Javascript和html从Google电子表格中填充html代码
- 如何设置iframe以自动填充HTML中的空白正文空间
- 使用 JS 填充 HTML 表,数据顺序错误
- 隐藏 iPad 键盘时,即使在重置后也会预先填充 HTML 表单字段值
- 用变量预填充 HTML 值
- 根据在上一个视图中选择的列表项动态填充 HTML 模板
- 使用 javascript 从 jsondata.json 文件填充 html 表
- 填充 HTML,选择“使用第一个输入标记”
- 用 JSON 数据填充 HTML
- 通过 JavaScript 函数填充 HTML 下拉菜单
- 如何使用 vkTemplate 用 JSON 对象填充 html
- 使用本地日期填充 HTML 日期时间字段
- 如何通过自动填充html列表为用户制作搜索字段
- 如何为数据库中的不同记录/行创建用户生成的链接列表,这些记录/行在单击时填充 html 表单