ruby-on-rails - 如何使用simple_form禁用下拉选择中的特定值?

标签 ruby-on-rails simple-form multi-select jquery-chosen slim-lang

我在 Rails 应用程序中使用 simple_form。我想在下拉列表中禁用特定值。

这是代码的一部分

= simple_form_for(@organization,url: admin_organization_path) do |f| 
 = f.input :hospital_name, input_html: { class: "form-control"}
 = f.input :parent, collection: @organizations, input_html: { class: "form-control", id: "chosen-select-speciality"}  

我尝试使用 :disabled => @organizations.first但我失败了。
有没有其他方法可以使用。请帮助我。谢谢。

最佳答案

选择框的 Simpleform 构建器使用每个选项的值与 disabled 属性的值进行比较,因此您只需使用组织的 id 即可禁用所需的选项:

= simple_form_for(@organization,url: admin_organization_path) do |f| 
 = f.input :hospital_name, input_html: { class: "form-control"}
 = f.input :parent, collection: @organizations, input_html: { class: "form-control", id: "chosen-select-speciality"}, disabled: @organizations.first.id

如果要禁用选择框的多个选项,可以手动构建选项列表内联或使用帮助程序并将其用作输入的属性:
= f.input :parent,  collection: @organizations.map{|o| [o.id, o.name, {disabled: o.id.in?([1,21,10])}]}, input_html: { class: "form-control", id: "chosen-select-speciality"}

关于ruby-on-rails - 如何使用simple_form禁用下拉选择中的特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35177071/

相关文章:

ruby-on-rails - Ruby haml 意外结束错误

ruby-on-rails - Rails simple_form在星号下方为必填字段提供点,以更好的方式删除它们?

ruby-on-rails - 在 click rails 上再添加一组相同的输入

c# - 使用多选从列表框中检索选定的值

jquery - 修复 Jquery Ui 多选的大小

jquery - 在 ruby​​ on rails 中单击时显示元素

ruby-on-rails - 从 Capybara rquest 规范访问 View 助手方法

ruby-on-rails - 使用 twitter 设计/omniauth 登录 - 验证失败 : email can't be blank

ruby-on-rails - 如何从哈希数组中获取所需的哈希

ruby-on-rails - ActiveAdmin:如何在过滤器中使用多选?