首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ajax获得jQuery的最佳方式

使用ajax获得jQuery的最佳方式
EN

Stack Overflow用户
提问于 2010-10-24 00:20:57
回答 1查看 556关注 0票数 1

我正在开发一个eshop,客户想要ajax。我认为这是一个坏主意,因为它会很慢。

但是,在查看产品时,左侧有一些过滤器。当用户选择一个过滤器时,应该禁用其他一些过滤器。

例如,可能有男性和女性的夹克,但红色仅对女性可用,因此当用户单击男性时,红色滤镜应该被禁用。

我想知道实现这一点的最好方法是什么。我不会使用ajax,只是加载所有的产品类别,并使用Javascript过滤它们,但我不能,因为我必须使用ajax。

那么,我是否应该像.getJson('filters.php.....', currentFilters, callback)一样进行单独的调用?然后再决定禁用哪些筛选器?(这需要在数据库中执行更多的查询)

或者,是否可以在结果页面中包含类似以下内容:

代码语言:javascript
运行
复制
<script type=text/javascript>
    var data={jsondatagoeshere};
</script> 

我想知道是否所有的浏览器都会执行这段代码。还有其他建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-24 00:44:54

两者都会工作得很好,但这完全取决于数据量有多大。

另一种方法是直接在页面上过滤结果,如(隐藏不匹配的项目):

快速示例:

html

代码语言:javascript
运行
复制
<ul>
  <li>Item1 <span>tag1, tag2</span></li>
  <li>Item2 <span>tag1, tag3</span></li>
</ul>

css

代码语言:javascript
运行
复制
span { display:none }

jquery

代码语言:javascript
运行
复制
$(".filter").click(function() {
  $("ul > li").hide().filter(function() {
     return $("span", this).text().indexOf("tag1") >= 0;
  }).show();
});

这将立即过滤,而不必多次调用数据库,但正如我所说的,这完全取决于数据的大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4004924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档