2012-08-31 115 views
0

阿賈克斯陣列,這是我的Jquery:傳遞給從多個選擇下拉

$('#Save').click(function() { 
    var realvalues = new Array(); //storing the selected values inside an array 

    $('#Privilege :selected').each(function (i, selected) { 
    realvalues[i] = $(selected).val(); 
    }); 

    $.ajax({ 
    type: "POST", 
    traditional: true, 
    url: "http://localhost:8081/crownregency/UpdateOrCreateOrDeleteUser.php", 
    data: { 
     Privilege: realvalues, 
     ID: '1' 
    }, 
    success: function (data) { 
     alert(data, 'Status'); 
     location.reload(); 
    } 
    }); 
}); 

這是我的PHP。

我看了安靜了很多關於序列化,但似乎沒有工作,我所試圖實現的是發送一個下拉列表中選擇的項目到一個數組中,並通過Ajax把它發送到一個PHP。但發送數組到PHP似乎沒有工作。幫助任何人?

+0

你檢查這一點: http://stackoverflow.com/questions/4402036/jquery-ajax-posting-array-to-asp-net-mvc-controller –

+0

你可以粘貼HTML代碼 – Sibu

+0

是,它沒有解決我的問題 – user1525703

回答

3

你的代碼是好的,只是刪除傳統:真正和你的代碼似乎工作

$('#Save').click(function(){ 

    var realvalues = new Array();//storing the selected values inside an array 
    $('#Privilege :selected').each(function(i, selected) { 
     realvalues[i] = $(selected).val(); 
    }); 

    $.ajax({ 
     type: "POST", 
     url: "http://localhost:8081/crownregency/UpdateOrCreateOrDeleteUser.php", 
     data: {Privilege: realvalues, ID: '1'}, 
     success:function(data){ 
       $("#subscrres").html(data) 
      } 
    }); 
}); 

HTML

<form method="post"> 
<select id="Privilege" multiple="multiple"> 
<option value="yahoo">yahoo</option> 
<option value="chrome">chrome</option> 
<option value="mozilla">mozilla</option> 
</select> 
<input type="button" id="Save"/> 

</form> 

UpdateOrCreateOrDeleteUser.php

<?php 
if(isset($_POST['Privilege'])){ 
$myvar =$_POST['Privilege']; 
foreach($_POST['Privilege'] as $one) 
echo $one."<br/>"; 

} 
?> 
+0

這裏的問題是,我只能訪問最後選擇的下拉框索引。只有一個值被髮送到我的PHP。 – user1525703

+0

@ user1525703我已經檢查過它,它的工作正常,看到我已編輯的答案,我已經包含了HTML和PHP代碼 – Sibu

+0

我解決了它,只需用雙引號括起來。但無論如何..數據:{「特權[]」:realvalues}, – user1525703