2012-02-18 10 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は無効です。 optionタグをdivに含めることはできません。

このような応答を送信します。

<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はちょうど良いと思われるが、それはうまく動作します。

+0

私は投票することはできませんので、ちょうどありがとう – Dan

0

<option>は、<div>の子として有効なタグではありません。したがって、IEはinnerHTML(それゆえに.html())でそれを取り除いて、間違いをしていないふりをしています。

代わりに<select>を使用して<option>タグを保持してください。

+0

私はあなたに投票することはできませんので、ちょうど感謝 – Dan

+0

あなたの問題を解決するのに役立った場合は、回答を受け入れることができます;) –