随着Bootstrap的最新更改,我想将常见的css类input_html: {class: 'form-control'}
应用于所有元素,但不需要手动执行所有元素。有没有办法默认设置它。我还没有找到任何设置。
答案 0 :(得分:7)
最好在app / config / initializers中更改simple_form_bootstrap.rb中的默认包装器。
E.g:
SimpleForm.setup do |config|
config.wrappers :bootstrap, tag: :div, class: "form-group", error_class: "has-error" do |b|
# Form extensions
b.use :html5
b.use :placeholder
# Form components
b.use :label
# b.wrapper tag: :div do |ba|
b.use :input
b.use :hint, wrap_with: { tag: :p, class: "help-block" }
b.use :error, wrap_with: { tag: :span, class: "help-block text-danger" }
# end
end
config.form_class = "form-horizontal"
config.default_wrapper = :bootstrap
end
答案 1 :(得分:0)
使用jQuery(但*对于所有元素都会产生一些性能问题)
$('*').addClass('form-control');
希望它有所帮助...
答案 2 :(得分:0)
我使用这个要点替换app / config / initializers中的simple_form_boostrap.rb。
答案 3 :(得分:0)
在初始化者的简单使用中:
SimpleForm.setup do |config|
config.label_class = 'control-label'
...
end
答案 4 :(得分:-2)
您也可以尝试使用css选择器应用sass @extend(http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#extend)来选择要修改的输入类型。
示例
input[type='email'], input[type='password'] {
@extend .form-control;
}