只是猜的答案...
所以你class_name
可能包含changeView
一個值,如果在的話,你要替換changeView
類名changeExtraview
,對不對?
如果是,那麼下面應該沒問題:
<%=f.text_field :Username, :size=>4, :tabindex=>2, :class=>class_name.gsub(/changeView/, "changeExtraview"), :autocomplete => "off", :onblur=> $$$$$ %>
========================
另一個嘗試:
<%=
f.text_field :Username, :size=>4, :tabindex=>2, :class=>class_name, :autocomplete => "off",
:onblur => "if($(this).hasClass('changeView')) {$(this).removeClass('changeView'); $(this).addClass('changeExtraview')}"
%>
========================
由於@Faisal指出,使用JS端綁定會會更好。雖然答案是很久以前的事,我決定再次更新了答案:
<%= f.text_field :Username, :size => 4, :tabindex => 2, :class => class_name, :autocomplete => "off" %>
,在任何方式(我用content_for在這個例子中),添加以下js代碼:
<%= content_for :javascripts do %>
<script type="text/javascript">
jQuery(document).ready(function($) {
$("<%= class_name %>").bind("blur", function() {
var $this = $(this);
if ($this.hasClass('changeView')) {
$this.removeClass('changeView');
$this.addClass('changeExtraView');
}
});
});
</script>
<% end %>
註上面的代碼需要你有<%= yield :javascripts %>
在你的佈局文件,
這可能是Rails的代碼,而不是‘紅寶石代碼’ – PeterWong 2010-11-30 07:28:04
雅哥們,其Rails代碼 – Rubyist 2010-11-30 07:42:06