首页 > 解决方案 > 如何根据 Ruby on Rails 中的表单选择创建文本框警报/悬停弹出文本?

问题描述

到目前为止,我有这段代码,form.html.erb但它并没有按照我想要的方式工作。它只显示占位符值。我想要做的是:当用户选择 A 时,我希望选择 A 旁边的文本框显示一些文本以提供有关该选择的更多详细信息。

<%= form.label :title %><br>
<%= form.select :title, ['A', 'B','C','D' ]%>
<%= form.text_field : Content, class:"form-control", placeholder:'text here', style:"#{'display: This is A' if form.object.title == 'A'}" %>

标签: htmlruby-on-railsformserb

解决方案


Rails Form Helpers 不会代表你做所有的事情,如果你想在表单周围做一些魔法,你必须放一些 javascript。

在您的情况下,如果您只想显示一个简单的警报以显示选定的选项信息,您可以这样做:

 <% ruby_var = "this is ruby variable"; options = {
      "A": "I like ice cream and I like books",
      "B": "I like pizza and I do not like books",
      "C": ruby_var
    }.to_json
 %>

<%= form.select(:title, ['A', 'B','C','D' ], {}, :onChange =>"javascript: alert(#{options}[this.value]);")%>

如果你想要更多,写你自己的js来操作dom元素


推荐阅读