【问题标题】:rails jquery select2导轨 jquery select2
【发布时间】:2013-03-30 23:58:39
【问题描述】:

在我的视图中,将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>

我尝试了很多变体,但都没有奏效...

【问题讨论】:

    标签: jquery ruby-on-rails jquery-select2


    【解决方案1】:

    你需要做一些事情来让它工作:

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

      $ ->
        $("#practice_toolkeeper")
            .select2({ 
                allowClear: true,
                placeholder: 'Select type question'
            })
            .select2('val',$("#toolkeeper_value").val())
      
    2. 看起来allowClear 选项仅在select 中有一个空的option 时才有效。要生成一个空选项,您可以在生成选择时使用{:include_blank =&gt; 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/

    【讨论】:

    • @HappyHacking:确保指定placeholder 选项(见上文)
    • 您能否展示您正在使用的标记以便我重现它?
    • 对不起,我对 jquery 还是很陌生等等.. 你对标记有什么看法:S
    • 没问题,只是为您生成 HTML rails。您可以通过在您正在开发的网页上点击“查看源代码”来查看它。我只需要查看您将 select2 小部件应用到的 HTML。
    • @HappyHacking:好的,我会把它添加到你的问题而不是我的答案中。
    【解决方案2】:

    为我的开发人员在这里登陆

    假设您正在使用Formtastic 通常使用 Active Admin 您可以在声明期间通过

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

    专注于花括号{}

    -快乐编码:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-04
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      相关资源
      最近更新 更多