
使用了jquery的change事件,如何在此函数的外部获取它的变量
<selectid="s_province"name="s_province"></select>//省级<selectid="s_city"name="s_city">...
<select id="s_province" name="s_province"></select> //省级
<select id="s_city" name="s_city" ></select> //市级
上面是指城市二级联动,图片总是上传失败(所以没有)
当我选择完市级s_city时,产生change事件,目前控制台已经可见城市
但我如何能在外部获取s_city的val值
$("#s_city").change(function(){
var city = $("#s_city").val();
console.log(city);
return city;
});
var mycity = city(); //此处我是想把change事件获取的city给mycity,以便其他函数调用,但不知道怎么下手
console.log(mycity ); 展开
<select id="s_city" name="s_city" ></select> //市级
上面是指城市二级联动,图片总是上传失败(所以没有)
当我选择完市级s_city时,产生change事件,目前控制台已经可见城市
但我如何能在外部获取s_city的val值
$("#s_city").change(function(){
var city = $("#s_city").val();
console.log(city);
return city;
});
var mycity = city(); //此处我是想把change事件获取的city给mycity,以便其他函数调用,但不知道怎么下手
console.log(mycity ); 展开
1个回答
展开全部
var city = "";
$("#s_city").change(function(){
city = $("#s_city").val();
console.log(city);
return city;
});
var mycity = city;
console.log(mycity);
把city的定义部分 搬到方法体之外!city作用域就会从 change()内部 提升到 外部了。
这是变量作用域的问题,你需要去仔细了解一下“变量作用域”
追问
你好,为什么console.log(mycity);时控制台不出现城市名称呢(╥╯^╰╥),其实我想在外部获取变量的最终目的,就是为了在另一个函数中调用这个变量
追答
没明白你最终想实现什么业务,$("")取值,可以在任意位置,为什么要写到change方法里面去?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询