我有国家,地区和城市选择。当用户更改Country选择时,它会发送一个AJAX请求并接收如下所示的数据:
<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()并剥离所有标记,只留下文本。任何人都可以建议如何处理这个?
答案 0 :(得分: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看起来不错,只需修改响应html它就能正常工作。
答案 1 :(得分:0)
<option>
不是<div>
的孩子的有效标记。因此,IE(正确地,我相信)在innerHTML
(因此.html()
)中剥离它并且假装你没有犯错误。
相反,请使用<select>
来保留<option>
代码。