如何根据用户的选择显示文本字段?

问题描述

| 我有一个数组
ABC = [\"A\",\"B\",\"C\"]

<%= f.select :abc,model::ABC,:include_blank => true %>
如果选择C,则要显示\“ city \”和\“ state \”的输入字段。否则,这些字段应被隐藏。有没有简单的方法可以做到这一点。我不想使用jQuery或Ajax。     

解决方法

我不知道一种不使用JavaScript即可更改正在显示哪些字段的方法。 您可以做的就是始终显示城市和州字段,但是只有在选择菜单设置为C时才需要。例如,定义一个验证规则,如果选择菜单设置为C则需要一个字段。目录,使
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
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...