2012-01-30 63 views
1

我正在開發Ruby on Rails應用程序應用程序,我在這裏調用javascript函數onclick事件並且正在返回值。我想將該返回值分配給JavaScript變量predifined變量。 我的JavaScript函數看起來像:如何將javascript事件函數的返回值分配給javascript變量

function hideBrowser(var_i) 
{ 
k=var_i+1; 
$("#fileinput-button"+k).hide(); 
return var_i; 
} 

和我打電話的功能是這樣的:

'<div class="cancel" id="cancel'+i+'" onclick=i=(hideBrowser('+i+'))><button >Cancel</button></div>' 

請幫我解決這個問題。

更新

我試圖一個應用程序,其中第一個瀏覽按鈕對於用戶可見,當用戶瀏覽圖像,然後該圖像應該到位的瀏覽按鈕的顯示屏,圖像的預覽我通過在ruby中使用ajax-jquery文件上傳器來做到這一點,並且用戶可以看到另一個瀏覽器。當用戶取消圖像時,下一個瀏覽按鈕應該消失,預覽應該再次計入先前的值。這就是爲什麼我嘗試這種方法,並且每件事情都在工作,但我想將變量i的值設置爲之前的值。這不工作,請幫助我。

以上所有代碼都是用JavaScript文件編寫的。

+0

您需要在哪裏做這件事?這不是一個好的解決方案 – 2012-01-30 13:24:58

+0

當在Javascript中初始化變量時,應該使用var關鍵字,以免污染全局範圍。例如,你的變量'k'只在'hideBrowser'函數內有用/必需,所以它不需要是全局的。你的HTML也可能不正確,你正在做... ...單引號,但我不完全確定爲什麼。此外,你最好使用jQuery來綁定你的事件處理程序,而不是使用'onclick'屬性。 – 2012-01-30 13:28:07

回答

1

我沒有完全從你的代碼中得到。但看下面的代碼它的工作。

希望它能幫助你。

<script> 
function hideBrowser(var_i) 
{ 

return var_i ; 
} 
</script> 

<div class="cancel" id="cancel'+i+'" onclick='var i=hideBrowser(10); alert(i);'><button >Cancel</button></div> 
0

處理程序只應該返回true或false。如果可能,返回錯誤會取消事件。事件發生異步,您不能將任何其他值返回給其他函數。你可以做什麼,但是從你的事件處理程序中調用另一個函數並傳入你想要的任何參數。

相關問題