[英]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.