2010-11-08 66 views
0
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; 

}得到全局變量,從功能`change`

感謝@Hogan,他幫助我,但我仍不能得到想要的結果,我怎麼能得到可變value,外功能change,這裏是這個例子http://jsfiddle.net/ZvuMh/,每當我改變選擇框時,值是a。感謝您的支出時間

+0

可能重複http://stackoverflow.com/questions/4100524/jquery-從功能訪問變量) – Hogan 2010-11-08 20:07:41

回答

1

除非您將其移動爲全局變量,否則您無法進行此操作。實際上,「console.log(value)」這一行只會在函數change()被調用之前打印該值。 (change()在某些東西改變時被調用,但在getSelectData()返回後很久)。

+0

只是爲了澄清,因爲你有它「價值」不是全球性的。如果它在「function getSelectData(id){」之上聲明,那麼它就是,並且你可以從任何地方訪問它。可能是糟糕的設計,但這是使其可以從其他地方訪問的最直接方式。但是,您的「console.log(value)」行只會在執行change()之前顯示它的值。 – rob 2010-11-08 19:46:35