簡體   English   中英

將.php數組傳遞到JavaScript代碼jquery / ajax中

[英]passing .php array into a javascript code jquery/ajax

目前,我有這段JavaScript代碼:

//Display custom confirm box and delete multiple message

$(document).ready(function () {
    $(".delete_button-multiple").click(function () {
        //Get message id as variable
        var id = $(this).attr("id");
        var dataString = 'id=' + id;
        var parent = $(this).parent();
        //Display custom Confirm box  
        jConfirm('Are you sure you want to delete this message?', '', function (r) {
            if (r == true) { //initiate delete message if agreed

                $.ajax({
                    type: "POST",
                    url: "delete-mail_ajax.php",
                    data: dataString,
                    cache: false,

                    success: function () {
                        window.location = "mail_inbox.php";
                    }
                });

                return false;
            }
        });

    });
});


delete-mail_ajax.php:

if($_POST['id'])
{
$id=$_POST['id'];
$id = mysql_escape_String($id);
$sql = "delete FROM mail WHERE mail_id='$id'";
mysql_query( $sql);
} 

這是僅刪除一個郵件項目的工作代碼。 我編寫了以下代碼,以從復選框中刪除多條消息:

        //Multiple delete mail
        if(!empty($_POST['message'])){ 
        $list_mail = $_POST['message'];
        foreach ($list_mail as $messageID){    
        $sql = "delete FROM mail WHERE mail_id='$messageID'";
        mysql_query($sql);
        //deletion complete, refresh the page
        header("Location: mail_inbox.php");
        }
        }//end delete multiple 

我遇到的困難是更改上面的工作代碼,以合並所選郵件的多次選擇和刪除。

在這個問題上的任何幫助,將不勝感激

-Callum

假設您正在使用復選框,那么代碼將類似於:

var messages = new Array();
$("input[name='mail_items[]']:checked").each(function() {
   messages.push($(this).val());
});

$.ajax({
   type: "POST",
   url: "delete-mail_ajax.php",
   data: { message: messages }  //jQuery should translate this to an array that PHP should understand
   cache: false,
   ...
});

您可能需要將輸入的json_decode解碼到$ _POST ['message']變量中,但是我首先會在東西上執行var_dump()只是為了確保PHP在后台執行操作。 目前無法檢查,抱歉。

我想您在通過Ajax提交表單時遇到麻煩? 有一個簡潔的插件可以幫助您: http : //jquery.malsup.com/form/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM