3

allowClear私のビューでselect2ウィジェットにオプションを追加する正しい方法は何ですか?

$ ->
  $("#practice_toolkeeper").select2().select2('val',$("#toolkeeper_value").val())

私のビューには次のコードがあります。

<%= f.select :toolkeeper, options_from_collection_for_select(@people, :id, :name), :prompt => "Select type question" %>

次の HTML を生成します。

<select id="practice_toolkeeper" name="practice[toolkeeper]">
    <option value="">Select type question</option>
    <option value="21">sdifj</option> 
    <option value="20">maxam</option> 
    <option value="22">maxab</option> 
    <option value="19">maxa</option> 
    <option value="23">dafuq</option> 
    <option value="15">bla</option> 
    <option value="24">asdasdasd</option> 
    <option value="13">abl</option> 
    <option value="17">Testa</option> 
</select>

私は多くのバリエーションを試しましたが、まだ機能しているものはありません...

4

2 に答える 2

5

これを機能させるには、いくつかのことを行う必要があります。

  1. ウィジェットを初期化するときに使用するオプション オブジェクトでallowClearおよびオプションを設定します。placeholder

    $ ->
      $("#practice_toolkeeper")
          .select2({ 
              allowClear: true,
              placeholder: 'Select type question'
          })
          .select2('val',$("#toolkeeper_value").val())
    
  2. に空のallowClear場合にのみオプションが機能するようです。選択を生成するときに使用できる空のオプションを生成するには、次のようにします。optionselect{:include_blank => true}

    <%= f.select :toolkeeper, options_from_collection_for_select(@people, :id, :name), {:include_blank => true} %>
    

    基本的に、HTML は次のようになります。

    <select id="practice_toolkeeper" name="practice[toolkeeper]">
        <option value=""></option>
        <option value="21">sdifj</option> 
        <!-- etc -->
    </select>
    

例: http://jsfiddle.net/Z63d7/

于 2013-03-31T00:45:10.207 に答える
0

My Developer Fellas Landed here について

Formtasticを通常Active Adminで使用しているとします宣言中に渡すことができます

f.input :your_select_2_field, { as: :select2, collection: ['a', 'b'], include_blank: 'Select Nothing'}

中括弧 {} に集中する

-ハッピーコーディング:)

于 2015-12-08T14:25:53.007 に答える