簡體   English   中英

jQuery ajax select下拉列表適用於FF和chrome,但不適用於IE 7-9

[英]Jquery ajax select drop down works in FF and chrome but not IE 7-9

我知道這個問題已經被問過很多次了,大家可能已經厭倦了。 我只是被困住了,已經花了大約4個小時了。 我已經閱讀了許多有關

    cache:false, 

選項並添加某些“內容類型”,但是當我這樣做時,它在任何瀏覽器中都不再起作用。

我按照此處找到的教程進行操作: http : //www.x-developer.com/php-scripts/loading-drop-downs-with-ajax-php-and-fetching-values-from-database-without-refreshing-這一頁

我當然根據自己的需要修改了它,大部分只是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中的操作至關重要?

謝謝,

嘗試將數據對象設置為鍵值對。

代替

data: "country="+country,

嘗試

data: { "country" : country },

假設您的$("#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>";

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM