【问题标题】:jquery $.ajax load in UI dialog() problemjQuery $.ajax 加载 UI 对话框()问题
【发布时间】:2011-01-31 06:35:06
【问题描述】:

我有一个使用 jsonp 数据类型的 bing Image search api。它工作没有问题。当我在 Jquery UI 对话框中加载图像搜索脚本时,它会正确显示,我可以在 dialog() 框中搜索并查看结果。但是如果我关闭 dialog() 并再次打开它,现在如果我搜索没有结果显示。查看 console.log,我确实确认收到了 jason 数据,但由于某种原因,它没有附加到结果 div,所以我在屏幕上看不到任何结果。如果我关闭对话框并再次打开它,就会发生这种情况。如果我刷新刷新页面并再次打开对话框,则会显示搜索结果。

这是我用来附加结果的。

        $.each(data.SearchResponse.Image.Results,
        function(i, item) {
            console.log(item.Thumbnail.Url);
                $("#Results").append("<li><img style='width:100px; height:75px;' src='" + item.Thumbnail.Url + "'/></li>");
        });

【问题讨论】:

    标签: jquery ajax dialog jsonp


    【解决方案1】:

    使用 firebug 并检查 DOM 是否仍在您期望的容器中。如果是,请检查是否附加了 style: hidden 属性。

    您可能必须在每次打开对话框时重新附加 json。如果是这样,请尝试检查 jquery.tmpl.js 插件。

    【讨论】:

    • 我在哪里检查隐藏在 DOM 中的样式。我注意到如果我打开对话框两次也会发生同样的情况。第一个对话框显示结果,而第二个对话框没有。两个对话框都在接收 jsonp 数据,但第二个对话框只是没有附加结果。
    • 如果样式隐藏在 DOM 中,它会在 Firebug 检查查看器中显示为灰色。它还应该有“风格:隐藏;”在标记中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多