2013-03-30 86 views
3

什麼是正確的方式將allowClear選項添加到我認爲的select2小部件?rails jquery 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> 

我已經嘗試了許多變化,但沒有工作尚未...

回答

5

您需要做一些事情才能使其發揮作用:

  1. 坐落在一個選項allowClearplaceholder選擇對象,您使用初始化widget時:

    $ -> 
        $("#practice_toolkeeper") 
         .select2({ 
          allowClear: true, 
          placeholder: 'Select type question' 
         }) 
         .select2('val',$("#toolkeeper_value").val()) 
    
  2. 它看起來像allowClear選項只有在用戶在selectoption工作。爲了生成產生選擇時,你可以使用{: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/

+0

沒了那不是工作 – HappyHacking

+0

不工作如何?你在頁面上看到錯誤嗎? –

+0

沒有x清除只是沒有apperaing ..但ne錯誤 – HappyHacking

0

對於我的開發人員Fellas在此處登陸

假設您正在使用Formtastic通常與活動管理員可以在報關通

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

集中在大括號{}

-Happy編碼:)