我正在使用 Select2 将内容分配给其他用户(多个标签)。一切都很好,除了我无法找到添加后如何删除受让人。
将用户添加到模态中的受让人列表后,单击带有 class 的叉号后,从输入字段中删除select2-search-choice-close
带有 class 的相应列表项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 %>