-1
我有一个数组如何根据用户的选择显示文本字段?
ABC = ["A","B","C"]
<%= f.select :abc, model::ABC, :include_blank => true %>
如果我选择C,然后我要显示的输入字段为“城市”和“状态”。否则,这些字段应该隐藏。有没有简单的方法来做到这一点。我不想使用jQuery或Ajax。
我有一个数组如何根据用户的选择显示文本字段?
ABC = ["A","B","C"]
<%= f.select :abc, model::ABC, :include_blank => true %>
如果我选择C,然后我要显示的输入字段为“城市”和“状态”。否则,这些字段应该隐藏。有没有简单的方法来做到这一点。我不想使用jQuery或Ajax。
我不知道的方式来改变正在显示哪些领域不使用JavaScript。
你可以做的是始终显示城市和国家领域,但只要求他们,如果选择菜单设置为C.例如,定义需要领域,如果选择菜单设置为C的验证规则在你的lib /目录,使require_if_c_validator.rb
class RequireIfCValidator < ActiveModel::EachValidator
def validate_each object, attribute, value
if object.your_attribute_name == 'C' && value == nil
object.errors[attribute] < 'is required'
end
end
end
然后在你的模型,把它在城市和国家:
validate :city, :require_if_c => true
validate :state, :require_if_c => true
你的意思是要改变哪些元素是基于用户的选择显示? – declan 2011-05-26 18:41:05
<%= f.select:ABC,型号:: ABC,:include_blank =>真%>这是只有当我选择CI属性要城市和国家其他应显示<%= f.label默认情况下:ABC%>
<%= f.select:ABC,型号:: ABC,:include_blank =>真正%>是好的 – user659068 2011-05-26 18:46:34
你要的城市和州域是相同的页面选择菜单上的?或在下一页? – declan 2011-05-26 22:57:13