2012-02-18 91 views
0

我有國家,地區和城市選擇。當用戶更改國家選擇,它發送一個AJAX請求並接收看起來像這樣的數據:IE和JQuery:.html()條標籤

<div class="regionData"> 
    <option value="1">Region name</option> 
    <option value="2">Region name 2</option> 
</div> 

<div class="cityData"> 
    <option value="1">City 1</option> 
    <option value="2">City 2</option> 
</div> 

然後我更新其他2選擇

$("#Estate_region_id").html($(html).filter(".regionData").html()); 
$("#Estate_city_id").html($(html).filter(".cityData").html()); 

的所有作品,只是在所有的精瀏覽器除了IE瀏覽器(真是一個驚喜)。在IE中.html()的行爲就像是.text()並且去掉所有的標籤,只留下文本。任何人都可以建議如何處理這個?

回答

1

你的html無效。 div內不能有option標籤。

發送你的迴應這樣。

<select class="regionData"> 
    <option value="1">Region name</option> 
    <option value="2">Region name 2</option> 
</select> 

<select class="cityData"> 
    <option value="1">City 1</option> 
    <option value="2">City 2</option> 
</select> 

你的JavaScript看起來不錯只是修改了響應html就可以正常工作。

+0

我不能投票給你,所以只是感謝 – Dan 2012-02-18 06:06:56

0

<option>作爲<div>的孩子不是有效標籤。因此,IE瀏覽器(正確地說,我相信)在innerHTML(並因此.html())中剝離它並假裝你沒有犯這個錯誤。

而是使用<select>來保存<option>標籤。

+0

我不能投票給你,所以只是謝謝 – Dan 2012-02-18 06:07:21

+0

但是,如果它對解決你的問題有幫助,你可以接受一個答案;) – 2012-02-18 06:09:16