Javascript jQuery/JS:检查$u POST PHP变量,如果它存在,调用要执行的jQuery函数
我的问题是: 在我的主页上,我有一个带有城市名称的选择框。用户选择一个值,然后被带到另一个内部页面。 该内页有完全相同的选择框,只有在用户直接打开它的情况下才有城市名称,即不是来自主页。这是因为选择一个城市是我搜索过程中的第一步。 因此,如果用户直接访问内部页面,他将选择一个城市,提交表单,并使用jquery脚本根据该城市值进行搜索。页面布局更改,但地址保持不变。jquery重新排列元素,在左栏显示过滤器选项。 在用户从主页到达的情况下,我希望用户跳过内页上的城市选择,因为他已经在主页上选择了它。 我正在使用totalStorage插件获取主页城市价值 基本上,我想通过检查isset$_POST['city-homepage',将访问内部页面的两种方式分开; 如果为false,则用户直接访问它,因此一切正常。 但是,如果为true,我需要立即调用jquery函数search\u workers并自动将我的选择框的值设置为$.totalStorage'city',因为这是在主页上选择城市时写入cookie的值Javascript jQuery/JS:检查$u POST PHP变量,如果它存在,调用要执行的jQuery函数,javascript,jquery,http-post,Javascript,Jquery,Http Post,我的问题是: 在我的主页上,我有一个带有城市名称的选择框。用户选择一个值,然后被带到另一个内部页面。 该内页有完全相同的选择框,只有在用户直接打开它的情况下才有城市名称,即不是来自主页。这是因为选择一个城市是我搜索过程中的第一步。 因此,如果用户直接访问内部页面,他将选择一个城市,提交表单,并使用jquery脚本根据该城市值进行搜索。页面布局更改,但地址保持不变。jquery重新排列元素,在左栏显示过滤器选项。 在用户从主页到达的情况下,我希望用户跳过内页上的城市选择,因为他已经在主页上选择了它
function searchWorkers(){
var result=false;
$.ajax({
url: "<?php echo $this->action("search_workers"); ?>",
async: false,
type: "POST",
data: {
city: $("select[name=city]").val(),
help_wanted: $("#help_wanted").val(),
gender: $("#gender").val()
}
}).done(function(msg){
result=JSON.parse(msg);
});
做我想做的事情的最佳实践是什么?我不太熟悉Javascript,所以如果我的问题很愚蠢,请理解
谢谢 您应该让PHP文件检查是否设置了$\u POST['city-homepage']。如果是这样,您应该处理这些信息并相应地布置页面。您还可以让php文件在下拉列表中设置所选城市
<?php
if(isset($_POST['city-homepage'])) {
//output the page with all the layout and information needed since the user
//has selected the city already. And when creating the drop down box:
echo '<select name="city" onchange="searchWorkers()">';
foreach($cities as $city) { // assuming $cities is an array containing
// the name of each city in the list
if($city==$_POST['city-homepage'])
$selected='selected="selected"';
echo '<option value="'.$city.'" '.$selected.'>'.$city.'</option>';
$selected='';
}
}
else {
//display the page as though the user has not selected a city
}
所以,我设法找到了解决办法 当用户在我的主页上并选择一个城市时,我使用$.totalStorage存储在cookie中: ref=‘home’和city hp=所选值 然后表单的操作将他带到实际的搜索页面 当他到达那里时,在一个documentready函数中,我检查ref变量的值'home'。如果为true,我调用我的worker_search函数,并在下一行将ref变量设置为所需的新值,因为从这一点开始,我不需要主页上的任何内容。 如果false用户不是来自主页,而是直接来自主页,我将ref设置为'inner',我不会在这里调用该函数,因为用户将首先选择城市 在我的function worker_搜索中,我再次计算ref,并根据结果设置selectcity的值: 若“home”,则上述值从用户在主页上选择的cookie设置为city 如果为“内部”,则通常根据用户选择的城市设置值
这样,我的worker_搜索函数在这两种情况下都会为其selectcity变量获取值。Bryan,感谢您的回复。我知道你的方法,但如果用户来自主页,我需要一种启动jQuery函数的方法,因为从主页带入的值需要在函数中用于检索结果。看看下面我自己的答案,我是如何解决的。