Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将选定的复选框存储在数组中并与facebox一起使用_Php_Jquery_Arrays_Facebox - Fatal编程技术网

Php 将选定的复选框存储在数组中并与facebox一起使用

Php 将选定的复选框存储在数组中并与facebox一起使用,php,jquery,arrays,facebox,Php,Jquery,Arrays,Facebox,我在使用jQuery的插件Facebox处理表单中的一些数据时遇到了一些问题。 我试图完成的基本任务是将所选复选框的数量的值放入一个数组中,并在弹出窗口中使用PHP对其进行处理。 我在表单页面上有这样的内容: form.html <input type="checkbox" name="equip" value="<?php echo $equip_id; ?>" /> <input type="checkbox" name="equip" value="<?

我在使用jQuery的插件Facebox处理表单中的一些数据时遇到了一些问题。 我试图完成的基本任务是将所选复选框的数量的值放入一个数组中,并在弹出窗口中使用PHP对其进行处理。 我在表单页面上有这样的内容:

form.html

<input type="checkbox" name="equip" value="<?php echo $equip_id; ?>" />
<input type="checkbox" name="equip" value="<?php echo $equip_id; ?>" />
<input type="checkbox" name="equip" value="<?php echo $equip_id; ?>" />

<input type="button" name="replace" onClick="replace_equip()" />
我正试图将选中的复选框保存到一个数组中,以便在test.PHP中将其用于PHP处理


我刚刚开始学习jquery和javascript,所以请原谅您可能发现的任何错误

首先,您的代码存在一些风格问题。首先,您应该选择不要对数组、对象等使用
new
语法。相反,使用
var-Array=[]之类的东西声明您的
Array
。其次,您使用的是内联
onClick
,如果您已经在使用jQuery,那么应该避免使用这种方法。相反,使用类似于
$('input[name=“replace”]')的内容。你还应该考虑使用<代码> CAMELCASE 和你的函数,如果你喜欢下划线,用<代码> VARS使用它们。< /P>
现在谈谈你问题的实质。我对您的代码进行了如下重构:

$('input[name="replace"]').on('click', function() {
    replaceEquip();
});

function replaceEquip() {
  var array = [];
  $("input:checkbox[name=equip]:checked").each(function() {
    array.push($(this).val());
  });

  $.facebox(function() {
    $.ajax({
      type: "POST",
      url: "test.php",
      data: { name : array },
      error: function() {
        $.facebox("err");
      },
      success: function(data) {
        $.facebox(data);
      }
    });
  });
}
在PHP代码中,您将
json\u decode()
这个数组,并按照自己的意愿使用它。我还将
type
url
参数移到了顶部,因为
error
success
函数可能会变得很长


我会考虑阅读(至少是必要的章节)。

谢谢重构,提示,JSON-DEXDED()和图书推荐,他们非常感谢!在学习曲线上向上移动:)
$('input[name="replace"]').on('click', function() {
    replaceEquip();
});

function replaceEquip() {
  var array = [];
  $("input:checkbox[name=equip]:checked").each(function() {
    array.push($(this).val());
  });

  $.facebox(function() {
    $.ajax({
      type: "POST",
      url: "test.php",
      data: { name : array },
      error: function() {
        $.facebox("err");
      },
      success: function(data) {
        $.facebox(data);
      }
    });
  });
}