2017-02-24 86 views
1

我有一个名为$ photographerNum的php变量,我希望值的更改取决于我的页面上的下拉字段中的值,JavaScript的外观如何这以及如何接收新的值来更新php变量?在ajax中使用select选项列表更改PHP变量值

<!DOCTYPE html> 
<html> 
<body> 
<? $photographerNum = 1; ?> 
<p>Select an item from the list.</p> 
<select id="photographerNum" onchange="myFunction()"> 
    <option value="Item1">Item1 
    <option value="Item2">Item2 
    <option value="Item3">Item3 
    <option value="Item4">Item4 
</select> 
<script type="text/javascript"> 
function myFunction() { 
    var itemSelected = document.getElementById("photographerNum").value; 
    document.getElementById("demo").innerHTML = "You selected: " + itemSelected ; 
} 
</script> 
<p id="demo"> - photoNum=<? echo $photographerNum ?></p> 
</body> 
</html> 
+0

通过用户从下拉列表中选择东西时,PHP脚本所有结束。通过更改PHP变量,你的意思是什么? – Barmar

+0

在下拉之前,下拉菜单中的值为1时,下拉菜单中的值为1时,php变量可能会变为2或3我在下拉菜单下方回显变量 – MatrixHyperLoop

+0

当用户在浏览器中查看表单时,变量不会没有任何价值,因为脚本没有运行。 – Barmar

回答

1

试试这个,当你选择一个新的项目形式被触发,其输出所选项目的价值,在这之后,你可以发送变量并处理在服务器端。

<?php 
$photographerNum = 1; 
echo 'Initial value photographerNum::' . $photographerNum; 
?> 
<form name="myform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" > 
    <select name="photographerNum" id="IdphotographerNum" onchange="myform.submit();"> 
    <option value="0">Selecte an item 
    <option value="1">Item1 
    <option value="2">Item2 
    <option value="3">Item3 
    <option value="4">Item4 
</select> 
</form> 

<?php 
if (isset($_POST['photographerNum'])) { 
    echo 'New value photographerNum::' . $_POST['photographerNum']; 
} 
?> 

+0

这个工程向我展示了当我选择一个下拉菜单时在html中的选择,但是如何更新我的php变量? – MatrixHyperLoop

+0

我刚刚更新了我的代码,当前有我的代码 – MatrixHyperLoop

+0

@MatrixHyperLoop我已经更新了该帖子,它显示了变量的初始值以及在它被选定项目之后的新值。 – rescobar