我想在我的页面上找到一个按钮,它最终会成为一个删除按钮。但是因为它是<li>
元素而不是带有表单等的平均提交按钮...我必须使用ajax发送要处理的所有变量,此刻我只是希望它们处于某种状态它们可以被处理的地方,但目前我的脚本似乎没有像我想要的那样返回任何值并输出它们。
希望从下面的代码中你会看到我的意思,我现在需要它只需从复选框中选择cehcked的所有值并将其发送到mail_trash.php,然后发送它返回并输出数组,这样我就可以看到它正在选择正确的值等...实际删除php代码已经编写并正常工作,这只是检查Ajax。
这是javascript和ajax
<script>
$("document").ready(function (){
$("li.trash").click(function(e){
var db = $(':checkbox:checked').map(function(i,n) {
return $(n).val();
}).get(); //get converts it to an array
if(db.length == 0) {
db = "none";
}
$.ajax({
type: "GET",
url: "mail_trash.php",
data: {'db[]':db },
dataType: "json",
statusCode: {
200: function (response) {
$("#mail_header_name").html(response.mess_id);
}
}
});
});
});
</script>
这是mail_trash.php的脚本
<?php
include 'connect_to_mysql.php';
$mess_id = $_GET["db"];
echo json_encode($mess_id);
?>
只是为了检查
<li><a class="trash" href=""> </a></li>
非常感谢你的帮助,这在过去几个小时一直困扰着我。
答案 0 :(得分:4)
这不是li.trash。它是a.trash,因为垃圾是一个元素的类。因此,js的前三行应该是:
<script>
$("document").ready(function (){
$("a.trash").click(function(e){
然后继续使用其余的代码。我没有必要检查你的其余代码,虽然我很讨厌$(':checkbox:checked'),因为我不认为这是正确的jquery ....首先,我建议修复我提到的第一个选择器,用jquery docs检查第二个选择器然后jshinting / jslinting你的代码。 (仅限Javascript)
答案 1 :(得分:1)
我不知道它是问题本身的错字还是你的脚本的问题,但传递的参数名称是“db”但在服务器端你期望“mess_id”