所以我有一个表格,它应该发布选定的国家和其中一个州或城市的下拉,它只是在国家下发布两个选项尽管这些在表格和表格中都有不同的名称在php邮件程序脚本上发布数据。
所以这是表格:
<select style="width: 64%;" name="country" class="country">
<option value="UK">UK</option>
<option value="US">US</option>
</select>
<select style="width: 64%;" class='city' name="city">
</select></center>
这是JS:
var ukCities = ['Avon', 'Bedfordshire', 'Berkshire'];
var usCities = ['Alabama', 'Alaska', 'Arizona'];
$(document).on("change", "select.country", function() {
var country = $("select.country").val();
var cities;
if(country === 'UK'){
cities = ukCities;
}
else{
cities = usCities;
}
$("select.city").empty();
$.each(cities, function(index, element){
$("select.city").append($("<option></option>").attr("value", country).text(element));
});
});
$("select.country").val('UK').trigger('change');
这些是应该从php mialer脚本发布的内容:
$mail->Body =
'Name: ' . $_POST["assocName"] .
'<br>Email: ' . $_POST["firstName"] .
'<br>Tel: ' . $_POST["lastName"] .
'<br>Position: ' . $_POST["position"] .
'<br>Country: ' . $_POST["country"] .
'<br>City: ' . $_POST["city"] .
'<br>Community Type: ' . $_POST["comType"] .
'<br>Dwellings: ' . $_POST["dwellings"] .
'<br>Email: ' . $_POST["emailAddress"];
当我选择英国和一个城市时,电子邮件通过给我这个国家和城市的城市。
答案 0 :(得分:1)
因为这个原因,它为你提供了乡村和城市的城市:
$("select.city").append($("<option></option>").attr("value", country).text(element));
您需要将value
设置为element
而不是country
,使其显示为:
$("select.city").append($("<option></option>").attr("value", element).text(element));
HTML甚至看不到option
标签之间的内容,只看到value
的内容。这就是POSTed