AJAX,PHP,XML和级联下拉列表

时间:2010-05-04 06:29:32

标签: php xml ajax drop-down-menu cascadingdropdown

您建议使用哪些PHP库来实现以下内容:

  • 三个相关的下拉列表
  • 三个XML数据源
  • 基于AJAX

基本上,我想创建一个XML数据库并连接一个允许用户选择三个不同依赖参数的表单:

  1. 用户点击“区域”
  2. 用户点击区域(按地区过滤)
  3. 用户点击Station(按区域过滤)
  4. 即使我想使用PHP和XML,但一般的问题是:

    • 一个XHTML表单
    • 三个相关的级联下拉列表
    • 列表数据的三个平面文件(无关系数据库)

    解决方案必须高效,简单,可靠,并且跨浏览器。

    您会建议哪些技术来解决问题?

    谢谢!

2 个答案:

答案 0 :(得分:2)

我会说jQuery和Autocomplete plugin

  • 制作三个常规文本框,并使用autocomplete()
  • 进行增强
  • 每个人通过AJAX GET请求
  • 在用户输入时从服务器请求数据
  • 服务器将匹配数据作为基于行的文本发回,而自动完成插件又用于显示选项列表
  • 连接下拉列表result event的处理程序,存储所选选项。
  • 第二个文本框需要先设置第一个
  • 每个文本框都从服务器请求数据,包括所有先前选择的选项,以便服务器可以找到正确的数据
  • 服务器使用DOMDocumentDOMXPath来获取数据,自动完成插件具有内置的客户端缓存,可以轻松加载服务器

答案 1 :(得分:0)

Vanilla php和一个优秀的JavaScript框架就是您所需要的。

您需要构建一个php脚本,根据提供的父过滤器生成过滤的区域和站点列表(将数据推送为xml或json)。 php将需要解析xml数据并根据条件过滤列表(显然,db会比手动解析xml更好地处理这个数据)

每次父列表的值发生变化时,使用js框架查询php文件。不需要js框架(实际上会导致一些膨胀),但它会使开发应用程序变得容易。

我个人推荐jQuery,因为它容易学习,但任何流行的js框架都会产生相同的结果。