2012-08-31 62 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