我知道这已被问了很多次,现在你们都可能会厌倦它。我只是被困住了,已经花了大约4个小时。我已经阅读了很多关于
的建议 cache:false,
选项并添加某些“内容类型”,但是当我这样做时,它不再适用于任何浏览器。
我根据自己的需要修改了它,主要是mysql和标识符。
这就是我头脑中的内容:
<script type="text/javascript">
function get_cities(country)
{
$.ajax({
type: "POST",
url: "/cities.php",
cache: false,
beforeSend: function () {
$("#state").html("<option>Loading ...</option>");
},
data: "country="+country,
success: function(msg){
$("#state").html(msg);
}
});
}
</script>
在IE中,它进入Loading ....部分,并且什么都不做,它不会像在Chrome和FF中一样填充选项字段。
您是否在教程中看到他可能遗漏的任何内容对IE中的操作至关重要?
谢谢,
答案 0 :(得分:1)
尝试将数据对象设置为键值对..
而不是
data: "country="+country,
尝试
data: { "country" : country },
答案 1 :(得分:0)
假设您的$("#state")
已经是下拉列表。
cities.php
中,您需要删除<select>
代码。
<?php
// Code for cities.php
$country_id = $_REQUEST['country_id'];
$sql_city = "SELECT * FROM CITY WHERE country_id = '".$country_id."'";
$result_city = mysql_query($sql_city);
// REMOVE THIS LINE
//echo "<select name='city'>";
while($row_city = mysql_fetch_array($result_city))
{
echo "<option value='".$row_city['id']."'>".$row_city['city']."</option>";
}
// AND REMOVE THIS LINE
// echo "</select>";
?>