使用了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 );
展开
 我来答
q小小夏日p
2018-05-31 · TA获得超过135个赞
知道小有建树答主
回答量:169
采纳率:82%
帮助的人:67.6万
展开全部
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方法里面去?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式