我正在开发一个项目,我使用jquery / ajax从所选复选框中检索名称和值。我在主页面上使用php设置了复选框的名称和值。我想在单独的php脚本中使用$ _POST提取名称,以便我可以使用这些名称从MySQL中删除项目。
$("#deleteproject").click(function () {
var names = [];
$('#projectcheckbox input:checked').each(function() {
//all checkbox names are put in array
names.push({name: $(this).attr('name'), value: $(this).val()});
});
alert($.param(names));
return false;
});
上述警报($。param)以val1.name和val1.value格式返回所选复选框。
//run delete_project.php to erase projects from database
$.ajax({
type: "post",
url:"delete_project.php",
data: names,
cache: false,
success:function() {
alert(names + ' deleted')
}
});
我已经在最后的情侣日寻找答案,我很感激帮助解决这个问题。
答案 0 :(得分:3)
我希望首先以这种方式使用html部分,因为在你的情况下它更灵活,更容易;
<input type="checkbox" name="projectcheckbox[]" value="foo_project" />
<input type="checkbox" name="projectcheckbox[]" value="bar_project" />
...
或者首先打印出db结果;
foreach ($projects as $project) {
print '<input type="checkbox" name="projectcheckbox[]" value="'.$project.'" />';
}
然后调用jQuery.serialize
会给你一些数据,比如;
projectcheckbox[]=foo_project&projectcheckbox[]=bar_project ...
PHP部分(发布后);
foreach ((array) $_POST['projectcheckbox'] as $pro) {
// do something with $pro = foo_project or bar_project etc...
// THIS PART FOR SECURITY GUYS :)
// BUT! DO NOT FORGET TO SECURE YOUR DATA ($pro) HERE!!!!!
}