0

我已经检查了关于 AJAX 不加载样式的其他类似问题的答案。没有一个解决方案对我有用。

在 AJAX 调用中,我将另一个 AJAX 调用加载到页面上的元素中:

$.ajax({
        url: site_url+'/ajax/int_rooms'
    }).done(function (data) {
        $('.rooms-sides').append(data);
    }); 

我也试过$('.rooms-sides').load(site_url+'/ajax/int_rooms');

当我获取 HTML 并将其手动放入页面时,它的样式和外观符合预期。当我把它粘贴到 AJAX 中(加载成功)时,它的格式不再正确。

控制台中没有错误。我正在使用 Chrome(Firefox 中的结果相同)。如果我“检查元素”,加载的文件似乎是 LOSING 表标签<tr>,但是当我在 chrome 开发人员工具中查看网络选项卡的响应时,我确实看到了正在返回的表标签。

我再说一遍,当我在插入所有内容的主文件中使用相同的 html 时,它可以完美运行。

这个 HTML 被放入一个输出的 php 变量中,这就是你看到 $r->name 的原因。我试过把它放在 HTML 中,而不是放在文件中的 php 输出中,它会产生完全相同的错误。

有问题的HTML:

<input type='hidden' id='room_name' value='$r->name'/>
    <tr>
    <td class="action"><a href="#" title="Delete"><span class="delete">Delete</span></td>
    <td class="action"><a href="#" title="Duplicate"><span class="duplicate">Duplicate</span></td>
    <td><a href="#" title="Configure">Configure</td>
    <td>

    <div class="ui-widget">
    <select id="combobox">
    <option value="">Select one...</option>
    <option value="Kitchen">Kitchen</option>
    <option value="Bedroom">Bedroom</option>
    <option value="Living Room">Living Room</option>
    <option value="Dining Room">Dining Room</option>
    <option value="Hallway">Hallway</option>
    </select>
    </div>

    </td>
    <td>$364.14</td>
    </tr>
    <script type="text/javascript">
    $("#room_name").remove();
    </script>
4

2 回答 2

1

在同事的帮助下得到了它。

必须移动隐藏的输入,它是打破表格行。

于 2012-09-12T13:54:53.243 回答
0

/ajax/int_rooms尝试在该文件中应用样式。

于 2012-09-12T13:05:44.363 回答