gpt4 book ai didi

javascript - ROR + 从文本字段中检测类名并将其替换为另一个

转载 作者:行者123 更新时间:2023-11-27 22:29:13 26 4
gpt4 key购买 nike

在 Ruby 代码的 TextField 中,我想在模糊事件中检查指定的类是否被应用。请建议一些技术或方法。下面给出了我使用的示例代码。

TextField 的 Ruby 代码::

    <%=f.text_field :Username, :size=>4, :tabindex=>2, :class=>class_name, 
:autocomplete => "off", :onblur=> $$$$$ %>

假设 class_name:'changeView' 应用于上面的文本字段,那么我必须检测这个特定的类并替换为另一个类,如 'changeExtraview'。通过使用任何 javascript,我们可以替换该类名,但建议您是否有更好的选择。

谢谢

最佳答案

只是一个猜测的答案...

所以你的 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 端使用绑定(bind)会更好。虽然很久以前的答案了,但我决定再次更新答案:

<%= 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 %>在你的布局文件中,

关于javascript - ROR + 从文本字段中检测类名并将其替换为另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4311413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com