使用数组中的ajax选择选项

时间:2017-05-17 12:12:10

标签: javascript php ajax

我有以下功能将电子邮件地址发送到ajax,以使每个选项都成为select2选项。它不适用于多个电子邮件地址,只适用于一个电子邮件地址。如何让它用于更多电子邮件地址?

onclick='show_general_email_modal(\"$emails\");'

这发送以下内容: onclick="show_general_email_modal("1@1.com;2@2.com;3@3.com;");"

这是Ajax:

function show_general_email_modal(emailaddress) {
    var $submit_data = new FormData();

    $.ajax({
        type: "POST",
        url: location.href,
        data: $submit_data,
        contentType: false,
        cache: false,
        processData: false,

        success: function (data) {
            process_response_data(data);

                $('#recipient')
                    .empty()
                    .append('<option selected value="' + emailaddress + '">' + emailaddress + '</option>');
                $('#recipient').trigger('change');

            $("#email").modal();
        }
    });
}

id收件人是select2表单元素。

请帮助我理解我做错了什么。

1 个答案:

答案 0 :(得分:0)

试试这个。你需要像这样emailaddress.split(";")分割emailaddress并附加forEach

function show_general_email_modal(emailaddress) {
  var $submit_data = new FormData();

  $.ajax({
      type: "POST",
      url: location.href,
      data: $submit_data,
      contentType: false,
      cache: false,
      processData: false,

      success: function(data) {
        process_response_data(data);
        $('#recipient').empty()
        var em = emailaddress.split(";")
        em.forEach(function(a) {
         if(a){
            $('#recipient').append('<option selected value="' + a + '">' + a + '</option>');
               } 
          })
          $('#recipient').trigger('change');

          $("#email").modal();
        }
      });
  }