0

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 %>
4

1 に答える 1

0

同様の問題が発生しましたが、最新リリース(3.3.2)をインストールすると修正されます。

于 2013-04-11T12:58:00.757 に答える