2 回答
TA贡献1853条经验 获得超18个赞
您可以创建一个包含数组的对象并将其传递给 Ajax。见下文。我所做的只是将项目添加到数组中。如果您想在未选中时从 Array 中删除该项目,请告诉我。
<div data-refindex='1'>
<input type="checkbox" value='1'/> 1
<input type="checkbox" value='2'/> 2
<input type="checkbox" value='3'/> 3
<input type="checkbox" value='4'/> 4
<input type="checkbox" value='5'/> 5
</div>
<div data-refindex='2'>
<input type="checkbox" value='6'/> 6
<input type="checkbox" value='7'/> 7
<input type="checkbox" value='8'/> 8
<input type="checkbox" value='9'/> 9
<input type="checkbox" value='10'/> 10
</div>
Javascript(需要 jQuery)
var arraysObj = {};
$("div input").on('click',function(e){
var arrayId = $(e.target).parent('div').data('refindex');
if(typeof arraysObj['group_'+arrayId] === 'undefined')
arraysObj['group_'+arrayId] = [];
if ($(e.target).is(':checked') && $.inArray($(e.target).val(),arraysObj['group_'+arrayId]) === -1)
arraysObj['group_'+arrayId].push($(e.target).val())
console.log( JSON.stringify(arraysObj) );
})
TA贡献1836条经验 获得超13个赞
我无法从屏幕截图中找出复选框的情况,但您可以检查是否jQuery("input[name=list1]:checked")
选中所有复选框以及您的复选框是否真的全部选中(如果问题是选择器或复选框状态)。
尝试在您的代码中查看活动项是否有一个类以将其与非活动项区分开来,也许您可以使用一个类来选择它,如果没有活动类,您可以在 onClick 处理程序中设置它:
jQuery(this).addClass('.activeClass');
以及使用此选择器的循环槽项目:
`jQuery("input[name=list1].activeClass")`
添加回答
举报