2012-11-08 79 views
4

現在我使用:單擊按鈕時如何調用JavaScript函數?

<%=button_to_function "✓", checkButton(), :class => "buttonGrey"%> 

但javascript函數需要什麼將我作爲傳遞的東西傳遞給它,所以它可以切換類(我要的按鈕類在按下它可以改變)代表按鈕的參數?

回答

5

您可以直接在button_to_function中執行javascript。

你的情況:

<%= button_to_function "✓", '$(this).toggleClass("buttonGrey buttonGreen");', :class => "buttonGrey" %>

希望這有助於!

+0

這完全是我在找的東西。我一直試圖調用一個函數時遇到了一些問題。謝謝! – xxyyxx

+2

button_to_function在Rails 4中已被棄用(再次)。出於某種原因,它已經和我們的Rails幾次了。詳細信息和替代解決方案在這裏:http://stackoverflow.com/questions/14324919/status-of-rails-link-to-function- deprecation –

1

Inside checkButton(),你應該可以訪問this並使用jQuery或任何你的框架來操縱它。

例如,使用jQuery:

$(this).toggleClass("buttonGrey buttonGreen"); 
0

只需使用直線上升的jQuery。

$(".buttonGrey").on("click", function() { 
    // do something 
}); 
0

使用上的按鈕標籤

1

內單擊事件由於「button_to_function」是因爲Rails的4.0.2棄用,現在你可以使用「button_tag」幫手。

例:

<%= button_tag "Do It" type: 'button', onclick: "myFunction()", class: 'btn btn-default' do %> 

注意:如果您使用的CoffeeScript,聲明你的功能:

window.myFunction => 
    ... 

因爲在CofeeScript,功能不是全局性的默認作用域。

相關問題