【问题标题】:AJAX, PHP, XML, and cascading drop-down listsAJAX、PHP、XML 和级联下拉列表
【发布时间】:2010-05-04 06:29:31
【问题描述】:

您会推荐哪些 PHP 库来实现以下功能:

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

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

  1. 用户点击区域
  2. 用户点击地区(按地区过滤)
  3. 用户点击站(按地区过滤)

即使我想使用 PHP 和 XML,一般的问题是:

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

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

你会推荐什么技术来解决这个问题?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    我会说 jQuery 和 Autocomplete plugin

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

    【讨论】:

    • 不允许用户在任何地区、地区或车站输入。 (他们不知道可用的选项,因此必须显示一个下拉列表。)
    • 您可以配置插件,以便用户必须在可用选项中选择一个。您还可以在输入第一个字母之前立即显示初始选项列表。
    • 谢谢你,托马拉克。将检查它。
    • @Dave:你当​​然可以在没有自动完成的情况下实现一些等价的东西,只需使用传统的
    【解决方案2】:

    Vanilla php 和一个好的 JavaScript 框架就是你所需要的。

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

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

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

    【讨论】:

      猜你喜欢
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      • 2022-09-26
      相关资源
      最近更新 更多