-1

我试图在我的页面上获得一个按钮,该按钮最终将成为一个可以工作的删除按钮。但是,因为它是一个<li>元素,而不是带有表单等的普通提交按钮......我必须使用 ajax 发送所有要处理的变量,目前我只希望它们处于可以处理它们的状态,但目前我的脚本似乎没有像我想要的那样返回任何值并输出它们。

希望从下面的代码中你会明白我的意思,我现在需要做的就是从选中的复选框中选择所有值并将其发送到 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="">&nbsp;</a></li>
    

    非常感谢您的帮助,这在过去的几个小时里一直困扰着我。

  • 4

    2 回答 2

    4

    这不是垃圾。它是 a.trash 因为垃圾是 a 元素的一个类。因此,js的前三行应该是:

       <script>
        $("document").ready(function (){ 
    
           $("a.trash").click(function(e){  
    

    然后你剩下的代码以此类推。我没有必要检查你的其余代码,虽然我对 $(':checkbox:checked') 很不确定,因为我认为这不是正确的 jquery .... 首先,我建议修复我提到的第一个选择器,使用jquery 文档检查第二个选择器,然后对您的代码进行 jshinting/jslinting。(仅限 JavaScript)

    于 2012-08-13T00:53:08.090 回答
    1

    我不知道这是问题本身的错字还是脚本的问题,但传递时参数的名称是“db”,但在服务器端,您期望的是“mess_id”

    于 2012-08-12T23:20:15.917 回答