得到全局变量,从功能`change`
问题描述:
function getSelectData(id) {
var value='';
// set value to be the current selected value
value = jQuery(id+" option:selected").val();
// change value whenever the box changes
jQuery(id).change(function() {
value = jQuery(id+" option:selected").val();
});
console.log(value);
return value;
感谢@Hogan,他帮助我,但我仍不能得到想要的结果,我怎么能得到可变value
,外功能change
,这里是这个例子http://jsfiddle.net/ZvuMh/,每当我改变选择框时,值是a
。感谢您的支出时间
答
除非您将其移动为全局变量,否则您无法进行此操作。实际上,“console.log(value)”这一行只会在函数change()被调用之前打印该值。 (change()在某些东西改变时被调用,但在getSelectData()返回后很久)。
+0
只是为了澄清,因为你有它“价值”不是全球性的。如果它在“function getSelectData(id){”之上声明,那么它就是,并且你可以从任何地方访问它。可能是糟糕的设计,但这是使其可以从其他地方访问的最直接方式。但是,您的“console.log(value)”行只会在执行change()之前显示它的值。 – rob 2010-11-08 19:46:35
可能重复http://stackoverflow.com/questions/4100524/jquery-从功能访问变量) – Hogan 2010-11-08 20:07:41