尝试从下拉列表中获取所选项目,并添加到查询字符串以进行ajax调用。我似乎无法获取所选项目的值。我尝试使用$("select#areaCode").filter(":selected").val()
,但无法抓住该项目。
$("#phone").validate({
errorPlacement: function (error, element) {
error.insertAfter($(element).parent('div'));
},
rules: {
phone: {
required: true,
phoneUS: true
}
},
messages: {
phone: {
phoneUS: "Please enter a valid US number",
phoneUK: "Please enter a valid UK number"
}
},
submitHandler: function (form) {
$.ajax({
url: '/textMessage/' + $("select#areaCode").filter(":selected").val() + $('input[name="phone"]').val(),
method: "GET",
success: function () {
console.log(form);
}
});
return false;
}
});
<form id="phone">
<div class="col-md-10">
<div class="modal-header" style="text-align: center;">
<h5>Get a link on your phone</h5>
<div class="input-group">
<div class="input-group-btn">
<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>
<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>
<input class="form-control phone" name="phone" aria-label="..." placeholder="Your phone number" type="text"> <span class="input-group-btn">
<input class="btn btn-default" type="submit">SUBMIT</input>
</span>
</div>
</div>
</div>
</form>
答案 0 :(得分:0)
使用$("select#areaCode").find(":selected").val()
应该有效。
你应该改变:
<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>
为:
<select id="areaCodes">
<option value="1">US: +1</option>
<option value="44">UK: +44</option>
</select>
现在使用:
$("#areaCodes").find(":selected").val();
将返回所选的选项值。