Jquery下拉选项值不会在按钮中更改,按钮链接正在重复

时间:2017-01-09 15:10:49

标签: jquery html xml

我无法搞清楚我的代码。当用户从下拉列表中选择公司时,名称,电话号码,电子邮件和cc都会正确显示,并在选择其他选项时更改。我想在“mailto:”链接中加入一个按钮,使用来自email和cc的值。

我为href链接创建了变量。 现在,当我选择一个选项时,我希望它显示一个用于通过电子邮件发送个人的按钮;它目前显示三个“电子邮件我们”链接(我的三个公司选项)。

然后当我点击按钮时,它只显示一个cc地址而不是两个,并且我的主题行被截断或者没有被添加。

此外,按钮值不会从所选的第一个选项更改。因此,如果我更改所选的选项,则名称和电话会更改,但不会更改链接中电子邮件和cc的变量。

Here is my Plunker example

$(document).ready(function() {

  $("select").change(function() {
    $.ajax({
      url: 'main.xml',
      type: 'GET',
      dataType: 'xml',
      async: false,
      success: function(data) {
        retrieveXml(data);
      },
      error: function(e) {
        alert(JSON.stringify(e));
      }
    });
  });
});

var retrieveXml = function(data) {
  $(data).find('business').each(function() {
    var corpName = $(this).find('business-name').text();

    // Setup Variables
    var corpData = {
      name: ($('name', data).text()),
      phone: ($('phone', data).text()),
      email: ($('email', data).text()),
      businessname: ($('business-name', data).text())
    };

    var webOption = $('select#corps option:selected').val();
    var businessName = $('business-name', data).text();

    $(data).find('business').each(function(index, item) {

      var corpName = $(this).find('business-name').text();
      if (webOption == corpName) {
        $("#name").html($(this).find('manager > name').text());
        $("#phone").html($(this).find('manager > phone').text());
        $("#email").html($(this).find('manager > email').text());
        //$("#email").html($(this).find('manager > email').text());
        //$("#cced").html($(this).find('manager> cced').text());

        //NEW CODE
        $("#btn").addClass("button-color");
        var em = $(this).find('manager > email').html();
        var cced = $(this).find('manager > cced').html();
        var subject = "&subject=";
        var button = "Email Us";
        var cc = "?cc=";
        var bcc = "&bcc=execontact@gmail.com"
        var subMessage = "Contact a manager";
        $("#btn").append("<a href=mailto:" + em + cc + cced + bcc + subject + subMessage + " >" + button + "</a>");
        return false;
      }
    });


  });
};

1 个答案:

答案 0 :(得分:0)

您需要在mailto:

之前添加quotemark
$( "#btn" ).html('<a href="mailto:' + em + cc + cced + bcc + subject + subMessage + '">' + button + '</a>');