Php 将选定的复选框存储在数组中并与facebox一起使用
我在使用jQuery的插件Facebox处理表单中的一些数据时遇到了一些问题。 我试图完成的基本任务是将所选复选框的数量的值放入一个数组中,并在弹出窗口中使用PHP对其进行处理。 我在表单页面上有这样的内容: form.htmlPhp 将选定的复选框存储在数组中并与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="<?
<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);
}
});
});
}