Как применить дополнительный html-класс ко всем выбранным тегам, отображаемым simple_form

У меня есть приложение Rails 3.2 с драгоценным камнем simple_form (2.0.0). Я хочу использовать Chosen для выбранных полей. Сейчас мне нужно добавить :input_html => {:class => "chzn-select"} ко всем моим полям выбора.

Есть ли способ добавить chzn-select к классам html по умолчанию поля выбора, отображаемому с помощью simple_form?


person Kostas    schedule 23.03.2012    source источник


Ответы (2)


Я решил это несколькими способами.

Я добавил класс:

class CollectionSelectInput < SimpleForm::Inputs::CollectionSelectInput

  def input_html_classes
    super.push('chzn-select')
  end

end

Это применит класс ко всем моим полям выбора form.association.

Вы также можете решить эту проблему, добавив пользовательский класс-оболочку в инициализатор simple_form или для меня он был внутри simple_form_bootstrap.rb

person Gram    schedule 15.02.2013
comment
Как вы включаете/используете этот вход? - person voondo; 01.09.2015
comment
@voondo '/app/inputs/custom_select_input.rb' документы здесь: github.com/plataformatec/simple_form #пользовательские входы - person Gram; 07.09.2015

Вы можете использовать JQuery, если не возражаете, что он не работает для браузеров, не поддерживающих javascript;

$("input").addClass('chzn-select');

http://api.jquery.com/addClass/

person Mikey Hogarth    schedule 23.03.2012
comment
Я не большой поклонник того, что JavaScript затрагивает мой HTML, если это не то, что может сделать только JavaScript. - person Kostas; 27.03.2012