您好我有以下页面:
<input type="checkbox" name="fruit1" id="1" class="box">Banana<br /><br />
<input type="checkbox" name="fruit2" id="2" class="box">Cherry<br /><br />
<input type="checkbox" name="fruit3" id="3" class="box">Strawberry<br /><br />
<input type="checkbox" name="fruit4" id="4" class="box">Orange<br /><br />
<input type="checkbox" name="fruit5" id="5" class="box">Peach<br /><br />
<input type="button" id="groupdelete" value="clickme"><br />
$(document).ready(function(){
$('#groupdelete').on('click', function(){
var names = [];
$('input:checked').each(function() {
names.push($('input:checked').attr("name") + $('input:checked').attr('id'));
});
console.log(names);
})
})
我要做的是以下内容:
在数组中添加选中的复选框。之后,我希望能够传递php变量中的值。
当我现在执行代码时,我得到的结果如下:
[“fruit22”,“fruit22”,“fruit22”]
任何帮助都将深受赞赏。
关心,Zoreli
答案 0 :(得分:12)
您需要在this
函数中使用'input:checked'
而不是.each()
来引用正在检查的集合中的当前元素。如果您重新使用选择器,那么您将再次获得该设置,然后只从集合中的第一个元素获取属性。
$('input:checked').each(function() {
names.push($(this).attr("name") + this.id);
});
答案 1 :(得分:1)
将您的HTML更改为
<input type="checkbox" name="fruits[]" id="1" class="box">Banana<br /><br />
<input type="checkbox" name="fruits[]" id="2" class="box">Cherry<br /><br />
<input type="checkbox" name="fruits[]" id="3" class="box">Strawberry<br /><br />
<input type="checkbox" name="fruits[]" id="4" class="box">Orange<br /><br />
<input type="checkbox" name="fruits[]" id="5" class="box">Peach<br /><br />
<input type="button" id="groupdelete" value="clickme"><br />
现在,请查看jQuery / Javascript
$(document).ready(function(){
$('#groupdelete').click(function() {
var marked = new Array();
var k = 0;
$('input:checked').each(function(index,value) {
marked[k] = value;
k++;
});
alert(marked[0].id);
});
});
alert只是通过访问数组索引的直接访问权来为您提供演示。