我读过这篇文章。
<input type="checkbox" name="checkGroup" id="all">
<input type="checkbox" name="checkGroup" id="one" value="1">
<input type="checkbox" name="checkGroup" id="two" value="2">
<input type="checkbox" name="checkGroup" id="three" value="3">
<input type="hidden" name="storeCheck" value="">
$(function(){
$("#all").click(function(){
$("input:checkbox[name='checkGroup']").attr("checked",$(this).attr("checked"));
//array[1,2,3] will be pass to value of storeCheck
});
$("input:checkbox[name='checkGroup']:not('#all')").click ( function(){
var totalCheckboxes = $("input:checkbox[name='checkGroup']:not('#all')").length;
var checkedCheckboxes = $("input:checkbox[name='checkGroup']:not('#all'):checked").length;
if ( totalCheckboxes === checkedCheckboxes )
{
$("#all").attr("checked" , true );
}
else
{
$("#all").attr("checked" , false );
}
});
});
我试图将复选框的值作为数组进行检查。
例如
if I checked All
Get value array_check = 1,2,3 and passed this array to hidden name="storeCheck"
otherwise:
Get value of array_check( checkboxs checked ).and passed this array to hidden name="storeCheck"
答案 0 :(得分:3)
目前尚不清楚您是想在客户端还是服务器端执行此操作。无论如何,这是一个JQuery代码片段,用所有选中的复选框填充数组:
var checkedCheckboxes = new Array();
$('input:checkbox[name="checkGroup"]').each(function(index) {
if ($(this).attr('checked') == 'true') { checkedCeckboxes.push(this);}
});
答案 1 :(得分:1)
var checkedCheckboxes = $(":checkbox:checked").toArray();
答案 2 :(得分:0)
尝试:
function getChecked ()
{
var array;
var addition;
var count = 0;
for (var k = 1; k < document.getElementById('boxes').elements.length; k++)
{
if (document.getElementById('boxes').elements[k].checked == true)
{
addition = k + '';
array = array + '_' + addition;
count = count + 1;
}
}
}
使用以下HTML代码:
<form id='boxes' name='boxes'>
<input name='list' type='checkbox' id='checkbox' value='1'>
<input name='list' type='checkbox' id='checkbox' value='2'>
<input name='list' type='checkbox' id='checkbox' value='3'>
<input name='list' type='checkbox' id='checkbox' value='4'>
</form>
等等......