Select2 - 使用多个 select2 作为文本框

Select2 - Use multiple select2 as text box

我正在使用 select2 ajax 功能将用户电子邮件填充到 select 字段中。 当没有用户邮箱时,我应该可以手动输入邮箱。

这是代码

= f.collection_select :bcc_email_ids, Service::BccEmail.where("ticket_id = ?", @ticket.id), "email", :name_with_email, {selected: @ticket.bcc_emails.map(&:email)}, class: "form-control custom-select multiple_select_cc_dropdown", multiple: true

我正在通过下面给出的 ajax 调用在 select2 下拉列表中填充电子邮件:

$.ajax({
        url: url,
        data: post_data,
        type: "get",
        dataType: 'json',
        format: "json",
        success: function(data){
          $.each(data.records, function(key, value) {
            arr.push({id: value.email, text: value.first_name + " " + value.last_name + "-" + value.email})
          })
          $(".multiple_select_cc_dropdown").html('').select2({data: arr });
        },
        error: function(data){

        }
      });

当没有填充电子邮件时,我应该能够将电子邮件作为文本框手动输入吗?

在 select2 函数中使用标签:true。

$.ajax({
        url: url,
        data: post_data,
        type: "get",
        dataType: 'json',
        format: "json",
        success: function(data){
          $.each(data.records, function(key, value) {
            arr.push({id: value.email, text: value.first_name + " " + value.last_name + "-" + value.email})
          })
          $(".multiple_select_cc_dropdown").html('').select2({tags: true,data: arr });
        },
        error: function(data){

        }
      });