我知道这个问题已经被问了很多次了,到目前为止,你们可能都已经厌倦了。我只是卡住了,已经在这上面花了大约4个小时了。我已经通读了很多关于
cache:false, 选项,并添加某些“内容类型”,但当我这样做时,它不再在任何浏览器中工作。
我遵循了这里的教程:http://www.x-developer.com/php-scripts/loading-drop-downs-with-ajax-php-and-fetching-values-from-database-without-refreshing-the-page
当然,我根据自己的需要对其进行了修改,主要是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中,它到达加载....部分,什么也不做,它不会像在Chrome和FF中那样填充选项字段。
你在教程中看到了他可能遗漏的对IE操作至关重要的东西吗?
谢谢,
发布于 2012-09-25 08:26:56
尝试将数据对象设置为键值对。
而不是
data: "country="+country,试一试
data: { "country" : country },发布于 2012-09-25 12:35:20
假设您的$("#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>";
?>https://stackoverflow.com/questions/12574616
复制相似问题