将选定的下拉前缀附加到ajax中的url

时间:2015-01-23 20:17:11

标签: jquery ajax

我有以下表单,使用ajax从表单提交电话号码。我试图将选定的国家/地区代码从下拉列表附加到查询字符串。

这为我提供了正确的电话号码网址:

$.ajax({
    url: '/textMessage/' + phone,
    method: "GET",
    success: function () {
        console.log(this);
    }
});

我想在此表单中添加所选国家/地区代码的前缀:

<button id="label" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">+1 <span class="caret"></span>
                </button>
                <ul class="dropdown-menu" role="menu">
                  <li><a href="#" id="1">US: +1</a>
                  </li>
                  <li><a href="#" id="44">UK: +44</a>
                  </li>
                </ul>
              </div>

到网址。因此,网址应显示为domain.com/textMessage/12122225555

我尝试使用this.options[this.selectedIndex].value提取选定的选项,并将其添加为:url:'/textMessage/' + this.options[this.selectedIndex].value + phone, 但这不起作用。

jsfiddle

1 个答案:

答案 0 :(得分:0)

您可以将ID(或类,如果您愿意)添加到区域代码文本中,如:

<button id="label" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
    <span id="areaCode">+1</span> 
    <span class="caret"></span>
</button>

您可以通过以下方式获取区号:

var areaCode = $('#areaCode').text();

并且可以在您的电话号码前面加上:

$.ajax({
    url: '/textMessage/' + areaCode + phone,

还需要将区域代码点击事件修改为:

$("#1, #44").click(function (e) {
    $("#label").html('<span id="areaCode">+' + $(this).attr("id") + '</span> <span class="caret"></span>');
});

此外,如果你想摆脱&#39; +&#39;签名,然后您的areaCode将是:

var areaCode = $('#areaCode').text().replace('+','');

http://jsfiddle.net/1a8r5gmv/7/