【发布时间】:2016-09-29 12:24:45
【问题描述】:
我的头文件中有一个下拉元素。下拉列表包含我希望我网站上的用户从中选择的 2 种货币:
<div class = "currencyswitcher">
<span class = "currencylabel"><strong>Currency Switcher</strong> </span>
<form method="post" id="switchcurrency" name = "switchcurrency">
<select name = "currency" id = "currency" >
<option value = "USD"> USD </option>
<option value = "KES"> KES </option>
</select>
</form>
</div>
这是由一个 ajax 脚本处理的,它将所选元素发布到另一个文件:
<script>
$(document).ready(function() {
var url = "<?php echo file2.php;?>";
$('#currency').change( function() {
$.ajax({
data: $('#switchcurrency').serialize(),
type: "POST",
url: url,
success: function(response) {
alert(response);
}
});
});
});
</script>
现在,在我的 file2.php 中,我想从下拉列表中传递值并将其附加到我所在页面的 url,即如果我在页面 sitename.php/page1 上,然后从下拉,页面刷新到 sitename.php/page1?currency=USD 如果我在 sitename.php/page2 上,在选择时,页面刷新到 sitename.php/page2?currency=KES 等等...
这是我的 file2.php(ajax 发布到的文件)
if(isset($_POST["currency"]))
{
$key = key($_POST);
$value = $_POST["currency"];
$params = array_merge($_GET, array($key => $value));
$new_query_string = http_build_query($params);
$url = (empty($_SERVER['HTTPS'])?"http://":"https://") . $_SERVER['REQUEST_URI'] . "?" . $new_query_string;
var_dump($url);
}
从上面我的转储返回我的标题页的 url,即
var_dump($url); = mysiteurl/header.php?currency=USD
所以这是我的问题:我在标题中的下拉列表(因此在我网站中的所有页面上调用),我如何强制执行它,以便在选择一个选项时,我正在刷新的当前页面具有选定的选项附加到网址?
【问题讨论】:
标签: php ajax drop-down-menu