【发布时间】:2011-11-16 01:14:25
【问题描述】:
我有一个包含几个复选框的表单。发送此表单后,我需要将这些复选框(值)发送到 javascript 数组。
谁能帮我一个忙,请问怎么办?
【问题讨论】:
标签: javascript arrays forms checkbox
我有一个包含几个复选框的表单。发送此表单后,我需要将这些复选框(值)发送到 javascript 数组。
谁能帮我一个忙,请问怎么办?
【问题讨论】:
标签: javascript arrays forms checkbox
var form = document.getElementById("yourformname"),
inputs = form.getElementsByTagName("input"),
arr = [];
for (var i = 0, max = inputs.length; i < max; i += 1) {
// Take only those inputs which are checkbox
if (inputs[i].type === "checkbox" && inputs[i].checked) {
arr.push(inputs[i].value);
}
}
【讨论】:
使用 jquery 你可以做这样的事情:
var checkboxArr=[];
$('input[type=checkbox]').each(function(){
checkboxArr.push(this);
});
未经测试,不确定这在纯 js 中如何工作,也许它可以为您指明正确的方向
【讨论】:
var values = [],
inputs = document.getElementsByTagName("input");
for (var i = inputs.length -1 ; i>= 0; i--)
if (inputs[i].type === "checkbox" && inputs[i].checked)
values.push(inputs[i].value);
对于纯 JS。
【讨论】:
您可以在jsfiddle上测试以下功能:
function getCheckboxes(form_id, name) {
// returns array of checked checkboxes with 'name' in 'form_id'
var form = document.getElementById(form_id);
var inputs = form.getElementsByTagName("input");
var values = [];
for (var i = 0; i < inputs.length; ++i) {
if (inputs[i].type === "checkbox" &&
inputs[i].name === name &&
inputs[i].checked)
{
values.push(inputs[i].value);
}
}
return values;
}
【讨论】: