【发布时间】:2014-02-22 16:07:24
【问题描述】:
我正在处理我找到的其他人的代码的 sn-p。一旦选择字段发生更改,我想更新一个 PHP 变量。
变量的名称是 $ProductType,如下所示。当前代码执行预期的操作,所以现在我要做的就是将变量设置为等于更改的选项
<?php
$ProductType = '';
if(isset($_GET['trade'])){
//Everything in here will get echoed in the DIV
echo "You selected: ".$_GET['trade'];
$ProductType = $_GET['trade']; // I'd have thought this might work but when I echo $ProductType, it returns nothing.
exit;
}
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<form name="x" action="" method="POST">
<select name="trade" onchange="$('#extra').load('?trade='+this.value);">
<option value="1">item1</option>
<option value="2">item2</option>
<option value="3">item3</option>
<option value="4">item4</option>
</select>
<input type="submit" value="SEARCH" class="submit-button btn" />
</form>
<div id="extra" style="color:red;"></div>
编辑:
这次我添加了一个搜索按钮。我再次回应了它,它似乎正在工作,但是,它返回的数组不是我所追求的。 因此,一旦页面加载,用户将从下拉列表中进行选择,并且变量 $ProductType 应该会更改。如果我随后提交表单,页面会再次加载,并且我的变量会更新我的查询。
【问题讨论】:
-
$_GET['trade']是空的吗?你想echo它在exit之后? -
onchange事件可以调用ajax
-
您正在尝试混合使用 php 和 javascript,在您完成 load 调用后 php 脚本无法运行,因此在调用后没有 $ProductType,您需要将其存储在一些会话变量。
-
我已经测试过你的代码,它是完美的。当我更改选择框时,它会显示您选择的输出:2. 您为选择框编写了
onchange事件,因此当您的选择选项更改为新选项时它会显示结果。 -
谢谢大家,我已经添加和编辑,希望它能清除我想要实现的目标。