Javascript JQuery-在一个函数中访问一个VAR,而我需要在另一个函数中访问它?
好的,在我的html/js中,我有一个表单,它根据用户先前的选择进行更新。在最后一个阶段,我有一个选择菜单,用户将选择他们的城市。我已将id为myCity的选项列表中所选项目的值存储到以下位置Javascript JQuery-在一个函数中访问一个VAR,而我需要在另一个函数中访问它?,javascript,jquery,variables,function,Javascript,Jquery,Variables,Function,好的,在我的html/js中,我有一个表单,它根据用户先前的选择进行更新。在最后一个阶段,我有一个选择菜单,用户将选择他们的城市。我已将id为myCity的选项列表中所选项目的值存储到以下位置 ('#myCity').change(function(){ var CityValue = $("#myCity").val(); }); 设置该值后,“我的表单”将显示“提交”按钮 <input type="submit" id="go" value="Submit" onclick=
('#myCity').change(function(){
var CityValue = $("#myCity").val();
});
设置该值后,“我的表单”将显示“提交”按钮
<input type="submit" id="go" value="Submit" onclick="getweather()" />
但是在我的测试中,我认为我的getweather函数无法读取所需的var。有人能提出解决方案吗?您仅在无法从外部访问的函数范围内声明了CityValue。要么全局声明变量:
var CityValue;
$('#myCity').change(function(){
CityValue = $("#myCity").val();
});
function getweather() {
var to_load = 'getweather.php?p='+ encodeURIComponent(CityValue) +'.html';
$('#weather').empty().append(to_load);
}
或者只需在getweather函数中调用$myCity.val即可:
function getweather() {
var to_load = 'getweather.php?p='+ encodeURIComponent($("#myCity").val()) +'.html';
$('#weather').empty().append(to_load);
}
嗯,您为onchange指定的第一个事件处理程序现在没有任何作用。您只需将其删除并编辑第二个函数,如下所示:
function getweather(){
var CityValue = $("#myCity").val();
var to_load = 'getweather.php?p='+ CityValue +'.html';
$('#weather').empty().append(to_load);
}
嗯,您为onchange指定的第一个事件处理程序现在没有任何作用。您只需将其删除并编辑第二个函数,如下所示:
function getweather(){
var CityValue = $("#myCity").val();
var to_load = 'getweather.php?p='+ CityValue +'.html';
$('#weather').empty().append(to_load);
}
然后可以将此函数调用添加到更改事件中
function getweather(){
var CityValue = $("#myCity").val();
var to_load = 'getweather.php?p='+ CityValue +'.html';
$('#weather').empty().append(to_load);
}
$('#myCity').change(getweather);
对这个问题更优雅的回答是使用。这允许您在对象中存储任意数据,而不是声明变量,从而使一切都保持良好的OOP方式。因此,要执行您想要的操作,就意味着像这样存储值:
$('#myCity').change(function(){
$("#myCity").data("CityValue", $("#myCity").val());
});
这样,您就可以像这样检索它:
function getweather(){
var to_load = 'getweather.php?p='+ $("#myCity").data("CityValue") +'.html';
$('#weather').empty().append(to_load);
}
你建议我把getweather函数放在哪里?我的问题的演示可以在这里找到,你建议我把getweather函数放在哪里?我的问题的演示可以在这里找到