1

我有一个带有复选框的表,如果选中了一个复选框,我希望删除数据库中的原始数据 - 使用 ajax。

使用普通形式我会简单地命名所有的复选框一些名字让我们说 name="checkbox[]" 然后简单地使用 foreach($_POST['checkbox'] as $value){}

现在我正在尝试获取标记复选框的所有值,然后将它们放入一个数组中。似乎我错过了一些东西。这是我到目前为止所做的:

var checkboxes = jQuery('input[type="checkbox"]').val();
var temp = new Array();
jQuery.each(checkboxes, function(key, value) { 
     temp[] = value;
});

稍后我会将 temp 作为变量传递给 ajax 调用。

我有什么遗漏吗?

4

3 回答 3

3

您可以使用:checked选择器和map方法:

var arr = $('input[type="checkbox"]:checked').map(function(){
     return this.value
}).get();
于 2012-10-24T23:57:40.193 回答
0

只需将表格包装在表单标签中,然后执行以下操作:

var myData = jQuery('#myform').serialize();
jQuery.ajax('myscript.php', {data:myData});
于 2012-10-24T23:59:16.043 回答
0

您正在尝试迭代错误的 Checkbox 值。尝试这个

var $checkboxes = jQuery('input[type="checkbox"]') ;
var temp = new Array();
jQuery.each($checkboxes, function(i) {
     var value = $(this).attr('value'); 
     temp[i] = value;
});

如果您只想通过检查项目,只需添加一个条件。

if($(this).is(':checked')){
  var value = $(this).attr('value'); 
  temp[i] = value;
}
于 2012-10-24T23:51:16.513 回答