6

Я использую simple_form в моем приложении 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, но я был не удалось. Есть ли какой-либо другой метод для использования. Помогите мне. Благодарю.

+0

Привет, Вы используете 'selected-rails'? –

ответ

6

Simpleform строитель для выбора поля использует значение каждого параметра для сравнения со значением атрибута инвалидов, так что вы просто просто должны использовать идентификатор организации, чтобы отключить нужный вариант:

= 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 

Если вы хотите отключить несколько вариантов для selectbox, вы можете вручную создать список опций inline или использовать вспомогательный элемент и использовать его как атрибут для ввода:

= 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"} 
+0

работает, но как отключить несколько организаций. – vjnan369

+0

@ vjnan369 Я обновил свой ответ – BitOfUniverse

+0

спасибо @BitOfUniverse, он работает – vjnan369

3

С помощью JavaScript можно легко отключить конкретное значение в раскрывающемся как:

$(/* option selector */).prop('disabled', true); 

Смотрите в action

 Смежные вопросы

  • Нет связанных вопросов^_^