【问题标题】:jQuery Mobile AJAX Loading Previous DATA with Search ResultsjQuery Mobile AJAX 使用搜索结果加载先前的数据
【发布时间】:2013-02-22 13:39:10
【问题描述】:

我目前正在开发一个移动应用程序,并使用 jQuery Mobile。这个应用程序基本上是一个产品搜索引擎。

目前,如果我要搜索产品,我的脚本会处理在搜索字段中提交的内容,并查找任何相关产品。结果来自通过 AJAX 加载的 JSON 文件。这工作没有缺陷。

我遇到的问题是,如果我要搜索“一个”,然后返回搜索字段再次搜索。一旦我搜索别的东西。第一次搜索的结果仍然在结果页面上,还有我的新搜索结果。这显然是个问题。

点击应用程序的“返回”按钮后,如何清除 AJAX 数据?这样,如果我搜索“一”,则返回并搜索“二”。我只看到最近一次搜索的结果。

提前谢谢你!

【问题讨论】:

  • 您需要向我们提供更多信息,这还不够。当您提交搜索时,您的数据是否加载到列表视图中并单击列表视图转发到另一个页面或什么?这部分是正确答案所必需的。
  • 是的,如果您搜索“one”,您会在结果页面的列表视图中获得“one”的结果。如果您单击其中一个结果,则会将您带到详细信息页面。

标签: ajax jquery jquery-mobile


【解决方案1】:

当您返回上一页时,您需要查看 listview 内容是否为空,如果不是,则将其清空。

我给你做了一个简单的例子:http://jsfiddle.net/Gajotres/bTgth/,假设当你打开这个例子时,它就像你的页面返回动作。

当带有 id 索引的页面打开时,我们将检查列表是否有内容,如果是则清空它:

$(document).on('pagebeforeshow', '#index', function(){       
    if($('#custom-list li').length > 0){
        $('#custom-list').empty();
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    相关资源
    最近更新 更多