php - Jquery Ajax html(多选)
问题描述
我正在寻找一些简单的东西。我必须通过 jquery 将值从表单 html 传递到文件 PHP。我尝试此代码,结果为零。如果有人能说我哪里弄错了。谢谢
对于 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",
url: "test5.php",
data: {"Privilege[]": realvalues},
success:function(data){
$("#subscrres").html(data)
}
});
});
对于 HTML
<form method="post">
<select id="Privilege[]" multiple>
<option value="yahoo">yahoo</option>
<option value="chrome">chrome</option>
<option value="mozilla">mozilla</option>
</select>
<input type="button" id="Save" Value="SEND"/>
对于 PHP。内容文件 test5.php
if(isset($_POST['Privilege'])){
$myvar =$_POST['Privilege'];
foreach($_POST['Privilege'] as $one)
echo $one."<br/>";
}
我没有收到任何关于 PHP 的信息。有人可以帮助我吗?
解决方案
如果您尝试使用 id 访问多选元素,则不需要设置 id like Privilege[]
,您可以设置任何唯一身份,privilege-selector
但如果您为任何多选元素提供名称,则名称必须像Privilege[]
这是html:
<form id="form" method="post">
<select id="privilege-selector" multiple>
<option value="yahoo">yahoo</option>
<option value="chrome">chrome</option>
<option value="mozilla">mozilla</option>
</select>
<input type="button" id="Save" Value="SEND"/>
</form>
请检查以下ajax
请求以将所选数据发布到服务器
$("#Save").on("click",function(){
var selection = [];
$.each($("#privilege-selector option:selected"),function(index,element){
selection.push($(element).val());
})
$.ajax({
url : "test5.php",
type : "POST",
data : {Privilege:selection},
success : function(_response){
var res = JSON.parse(_response);
if(res.code == "1"){
console.log(res.data);
} else {
alert(res.message);
}
}
})
});
这是您的服务器文件,它将处理传入的请求数据
$serverResponse = [];
if(isset($_POST['Privilege']) && !empty($_POST['Privilege'])){
$formattedData = [];
foreach($_POST['Privilege'] as $key => $value){
$formattedData[] = array(
"id" => $key+1,
"name" => $value
);
}
$serverResponse = ["code"=>"1","message"=>"formatted data","data"=>$formattedData];
} else {
$serverResponse = ["code"=>"0","message"=>"Please select at least on value"];
}
echo json_encode($serverResponse);
推荐阅读
- ios - UIViewController 容器不显示 ChildViewController
- c# - C# Excel 到 .TXT
- ajax - 使用 AJAX 发布表单
- javascript - 删除查询字符串“?” 在 HTML 表单方法 GET
- javascript - 错误类型错误:res[0].price.map 不是 ChartJS 中的函数
- ios - 当您从不同的视图控制器进行 segue 时,您将如何将数据从一个视图控制器保存(附加)到另一个视图控制器?
- python - 递归地对列表的元素求和
- python - 显示状态的 Tkinter 按钮
- spring-mvc - 没有为依赖找到类型 [org.springframework.test.web.servlet.MockMvc] 的合格 bean:
- json - JSON 未解码为结构(致命错误,Swift)