选择2不从令牌列表中删除id

时间:2013-03-23 07:09:08

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

我正在使用Select2将内容分配给其他用户(多个标签)。这一切都很好,除了我不知道如何删除一旦添加的受让人。

将用户添加到模式中的受理人列表后,单击带有select2-search-choice-close类的交叉后,将从输入字段中删除具有类select2-search-choice的相应列表项,但id不会从受让人令牌中删除(因此在我提交表单时会传递给控制器​​)​​。

我错过了什么?

注意:我不是100%确定这是否相关,但我注意到我提交表单时传递的assignee_ids有时会多次包含相同的id(例如:assignee_ids =>“12,1,4,4 “)。

这是我初始化输入的方式:

    $('#assignable_item_assignment_assignee_ids').select2({
      minimumInputLength: 2
      tags: true
      tokenSeparators:[',', ' ']
      createSearchChoice: (term, data) ->
        {id: term, new_choice: true}
      multiple: true
      ajax:
        url: url
        dataType: 'json'
        quietMillis: 150
        data: (term, page) ->
          query: term
        results: (data, page) ->
          return {results: data}
      formatResult: userFormatResult
      formatSelection: userFormatSelection
      formatInputTooShort: (term, minLength) ->
        "Search existing users or assign by email"
      dropdownCssClass: 'select2'
    })

这就是我正在使用的形式:

  <%= form_for AssignableItemAssignment.new, url: assignable_items_assignments_path, html: { class: "form-horizontal", id: "new-assignment" }  do |f| -%>
    <fieldset>
      <div class="control-group">
        <%= f.label :to %>
        <div class="with-spinner">              
          <%= f.text_field :assignee_ids, placeholder: "Search users by name or email", class: 'select2'  %>
        </div>
      </div>

      <div class="control-group">
        <%= f.label :add_a_message %>
        <%= f.text_area :message, rows: 3, placeholder: "Add a message for your recipients (optional)" %>
      </div>

      <%= f.button "Submit", disable_with: 'Submiting' %>
    </fieldset>
  <% end %>

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,在安装最新版本(3.3.2)之后修复了该问题