0

我正在使用Filamentgroup的 jQuery UI Selectmenu从数据库中选择问题。该脚本基本上是一个使用列表和下拉功能的精美钻取菜单。经过几次调整(脚本是测试版)后,它运行得非常好,但是,我使用了很多重复数据,这使得脚本变得缓慢而缓慢。主要原因是我使用的是向下钻取菜单,而我应该使用链式选择菜单。

但如果我不喜欢钻孔菜单,我不会在这里发帖。对于未来的访问者来说,它使该过程非常直观和简单,并且只需要一个选择框而不是多个。

在脚本中,用户“深入研究”了 4 个类别,所有类别都包含多个选项。最后出现一个问题列表。但问题总是一样的。到目前为止,一个用户通过这个列表:

性别(2个选项)>年龄(3个选项)>教育(3个选项)>类别(6个选项)>问题列表

但是用户选择男性还是女性、低、中、高等都没有关系。问题保持不变。因为它是一个列表,所以我有一个超过 10.000 行的巨大列表。

理想的情况是,如果特别是最后一个列表的内容,将在它被选中时加载,而不是在页面加载时加载。我读到这样的东西可以用 Json 来完成。我读了一整天,但由于我对 javascript 和 jquery 的了解有限,我一无所获。

有人可以提出我能做什么的建议吗?我知道没有人会为我制作这个脚本,但也许现有的脚本只需要一些调整,对于专家来说很容易实现。或者也许有一个选项可以将某些内容“添加”到列表中,或者也许你们知道一个类似的脚本,其中已经内置了该函数。

该列表内置于 PHP 函数中。我非常了解 PHP,所以如果我可以在那里使用某些东西,那也是一种选择。例如,仅在列表中选择该函数时才加载/执行该函数。

更新:

  • JSfiddle
  • 脚本示例(没有 Ajax)
  • 我正在使用的脚本:

    jQuery.ajax({ url: "questions.php", cache: false }).done(function( html ) { jQuery(".result").append(html); });

Questions.php 从 MySQL 数据库加载问题并将它们作为无序列表回显。问题出现在页面上的任何地方,除非我在列表本身应该在的地方使用它们。

4

1 回答 1

1

http://api.jquery.com/jQuery.ajax/

这将是您想要用来根据需要实现列表抓取的方法。我会做的是在某些事件上获取下一个需要的信息,在你的情况下是问题,然后按照你的意愿处理返回的数据。

用户选择下一个菜单 -> Ajax 调用您网站上的 Web 脚本 -> 获取返回的 JSON 字符串 -> 将 JSON 字符串呈现或操作到您的页面上。

于 2012-07-10T15:36:55.087 回答