0

ブートストラップの追加と前置を使用して、単純なフォーム入力タグを使用できるようにする必要があります。1つで簡単に実行できますが、両方を機能させることはできません。これは可能ですか?

これは私がhamlを使用しているものです。これは先頭に追加するためのものですが、最後に別のものが必要なので、追加を使用します。

= f.input :domain, wrapper: :prepend, label: false do
  %span.add-on
    %span.icon @
  = f.input_field :domain
4

2 に答える 2

0

これを行う最も簡単な方法は次のとおりです。

<%= f.input :field, :wrapper_html => {class: "input-prepend input-append"} do %>
  <span class="add-on">$</span>
    <%= f.input_field :field %>
  <span class="add-on">%</span>
<% end %>
于 2013-09-05T16:58:33.997 に答える
0

simple_form には、:prependまたは両方のラッパーしかあり:appendませんが、同時に両方はありません。幸いなことに、両方を行うカスタム ラッパーを作成するのは非常に簡単です。ラッパーの 1 つをコピーして貼り付け、少し変更するだけです。

これが私の解決策です:

config/initializers/simple_form.rb

config.wrappers :prepend_append, :tag => 'div', :class => "control-group", :error_class => 'error' do |b|
  b.use :html5
  b.use :placeholder
  b.use :label
  b.wrapper :tag => 'div', :class => 'controls' do |input|
    input.wrapper :tag => 'div', :class => 'input-prepend input-append' do |pa|
      pa.use :input
    end
    input.use :hint,  :wrap_with => { :tag => 'span', :class => 'help-block' }
    input.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
  end
end

そして、あなたの見解では:

= f.input :url, wrapper: :prepend_append, label: false do
  %span.add-on something
  = f.input_field :url, input_html: { class: "span2" }
  %span.add-on something

最後に、これを css に追加します。

.input-prepend .add-on,
.input-append input {
  float: left;
}

それが役立つことを願っています。必ずサーバーを再起動してください。

于 2013-03-24T03:21:43.360 に答える