JavaScript中的HTML控制数组- 1的复选框数组返回零长度
HTML Control Array in JavaScript - Checkbox array of 1 returns zero length
我正在使用复选框控制数组来捕获多个选择
下面带有两个复选框的代码工作得很好,并返回一个值2,如预期的那样(或者有多少个)。
但是,如果数组中只有一个复选框项,则返回0(零)....的长度为什么会这样?它不应该返回长度为1的值吗?
我在Internet Explorer和Chrome中尝试了相同的结果。作为一种工作,我不得不在数组中包含一个隐藏的伪复选框,以确保在运行代码时总是有两个或多个项目。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<script language="javascript" type="text/javascript">
function categoryOnClick() {
var selectedRows = document.searchForm.elements['categorySelect[]'];
alert(selectedRows.length);
}
</script>
</head>
<body>
<form name="searchForm" action="">
<input type="checkbox" name="categorySelect[]" id="1" onclick="categoryOnClick();"/>
<input type="checkbox" name="categorySelect[]" id="2" onclick="categoryOnClick();"/>
</form>
</body>
</html>
返回0(零)长度的代码…
<form name="searchForm" action="">
<input type="checkbox" name="categorySelect[]" id="1" onclick="categoryOnClick();"/>
</form>
Working jsFiddle Demo
function categoryOnClick() {
var rows = document.getElementsByName('categorySelect[]');
var selectedRows = [];
for (var i = 0, l = rows.length; i < l; i++) {
if (rows[i].checked) {
selectedRows.push(rows[i]);
}
}
alert(selectedRows.length);
}
在javascript中你可以做
function categoryOnClick() {
var count = document.querySelectorAll("input[type=checkbox]").length;
var checkedElements = 0;
for (var i = 0; i < count; i++) {
checkedElements = checkedElements + parseInt((document.querySelectorAll("input[type=checkbox]")[i].checked) ? 1 : 0);
}
alert(checkedElements);
}
和jquery中的
function categoryOnClick() {
alert($('input:checked').length)
}
希望有帮助
你可以使用jQuery:
function categoryOnClickjQuery() {
var selectedRows = $('form input').attr('name', 'categorySelect[]');
alert(selectedRows.length);
}
相关文章:
- 对象数组返回自最近日期以来的最高总体值
- 从多维数组返回嵌套数组
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- 如何将 AJAX 响应作为 JavaScript 数组返回
- 我正在尝试在 JS 中制作这个随机名称生成器.数组返回未定义
- .push() 多个对象进入 JavaScript 数组返回 'undefined'
- 如何按属性从可观察数组返回项
- 通过jquery发送的关联php数组返回[对象对象]
- 从 Javascript 中的对象数组返回单个属性的数组
- 循环遍历对象数组返回“未定义”
- 拼接数组返回空的序列
- Javascript 多维数组返回第一个值,然后失败
- Json 数组返回空值
- 从下划线.js中的数组返回一系列值
- for 语句不从数组返回值
- MongoDB从数组返回特定字段
- 试图将数组返回到表中的列表中
- Javascript中的二维数组返回未定义的数组
- 将函数数组作为布尔值数组返回