rails jquery select2

Hap*_*ing 3 jquery ruby-on-rails jquery-select2

allowClear在我的视图中将选项添加到select2小部件的正确方法是什么?

$ ->
  $("#practice_toolkeeper").select2().select2('val',$("#toolkeeper_value").val())
Run Code Online (Sandbox Code Playgroud)

我在视图中有以下代码:

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

哪个生成这个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>
Run Code Online (Sandbox Code Playgroud)

我尝试了很多变化,但还没有工作......

And*_*ker 5

你需要做一些事情才能让它发挥作用:

  1. 在初始化窗口小部件时使用的选项对象中设置allowClearplaceholder选项:

    $ ->
      $("#practice_toolkeeper")
          .select2({ 
              allowClear: true,
              placeholder: 'Select type question'
          })
          .select2('val',$("#toolkeeper_value").val())
    
    Run Code Online (Sandbox Code Playgroud)
  2. 它看起来像allowClear时,有一个空的选项只能optionselect.要生成一个空选项,您可以{:include_blank => true}在生成选择时使用:

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

    基本上你希望你的HTML看起来像这样:

    <select id="practice_toolkeeper" name="practice[toolkeeper]">
        <option value=""></option>
        <option value="21">sdifj</option> 
        <!-- etc -->
    </select>
    
    Run Code Online (Sandbox Code Playgroud)

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