我有一个jQuery函数,我正在调用click事件。代码段位于
之下$.ajax({
url: '/delivery_windows/' + current_month + '/' + selected_day,
success: function(data) {
$('#time-selection').html(data);
}
});
在实际文件中的此片段上方,正在设置current_month和selected_day。我在成功函数中添加了一个警报(数据)功能,并在警告框中显示了正确的html,但是时间选择元素在网页上显示为完全为空。
我已在Firefox,Chrome,Safari和Opera中测试过。所有这些都按预期工作。 IE 7和IE 8是唯一返回空时选元素的。
我已阅读其他帖子尝试在时间选择上调用.empty(),然后调用.append()而不是使用.html(),但我得到相同的结果。
有没有人知道我做错了什么?
非常感谢任何帮助!
我正在使用jQuery 1.3.2
在Drupal中构建它,以防万一提前致谢!!
答案 0 :(得分:3)
我有这个完全相同的问题,减去所有差异:)
我的服务调用返回了一个包含多个<tr>
元素的HTML字符串,我将其插入到<table>
成功回调中的$.get()
元素中。
在IE7中,您需要添加<tbody>
标记以包围插入的表格行,否则它将无效。 IE7通常会在页面加载时为您插入<tbody>
标签,但如果您使用java脚本或java脚本API(例如jQuery)插入标记,则不会这样做。所以你必须自己做。
答案 1 :(得分:1)
将返回的数据转换为String应解决此问题。请尝试以下方法:
$.ajax({
url: '/delivery_windows/' + current_month + '/' + selected_day,
success: function(data) {
$('#time-selection').html(String(data));
}
});