如何将来自select选项的javascript变量传递给PHP变量? 我想根据用户选择设置PHP变量 我试过那段代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(function(){
$("select[name='sex']").change(function () {
var submitSearchData = jQuery('#extended-search').serialize();
var selectedValue=$('#sex').val();
jQuery.ajax({
type: "POST",
data: 'selected=' + selectedValue
url: "ajax.php",
success: function () {
// alert(submitSearchData);
alert(selectedValue);
}
});
});
});
</script>
<form id="extended-search" >
<div class="input-container">
<select class="select" name="sex" id="sex">
<option value="0">All</option>
<option value="1">M</option>
<option value="2">F</option>
</select>
</div>
</form>
<?php
var_dump ($_REQUEST['selected']); //that print NULL don't know why!
?>
答案 0 :(得分:1)
您传输的数据格式错误。数据作为对象传递。请参考下文。
$("select[name='sex']").change(function () {
var submitSearchData = jQuery('#extended-search').serialize();
var selectedValue=$('#sex').val();
jQuery.ajax({
type: "POST",
data: {'selected': selectedValue},
url: "ajax.php",
success: function (response) {
// alert(submitSearchData);
alert(response);
}
});
});
答案 1 :(得分:0)
在同一时间内无法实现:
yourfile - &gt; ajax - &gt; yourfile(这是值,但你不能在当前网页上看到这个,除了ajax而不是ajax,发送帖子表格)
答案 2 :(得分:0)
我希望这会对你有帮助......
dataType: "html",
data: {'selected': selectedValue},
然后你可以通过$ _POST / $ _ REQUEST数组获得它,因为你已经将类型设置为post。
答案 3 :(得分:0)
$ _ REQUEST为null,因为它与您发送的ajax请求无关。试试这个例子:
<?php
if (isset($_POST["selected"])) {
echo $_POST["selected"];
} else {
?>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<form id="extended-search">
<div class="input-container">
<select class="select" name="sex" id="sex">
<option value="0">All</option>
<option value="1">M</option>
<option value="2">F</option>
</select>
</div>
</form>
<script>
$(function() {
$("select[name='sex']").change(function () {
var selected = $(this).val();
$.ajax({
type: "POST",
data: {
selected: selected
},
url: "ajax.php",
success: function (data) {
alert(data);
}
});
});
});
</script>
</body>
</html>
<?php } ?>
编辑:
我更新了脚本并对其进行了测试。您的代码中有一些错误。希望这对你有用。