我正在使用 PHP、jQuery 和 Spry 的组合来提供一系列列表框,用户将在其中首先选择车辆类型,然后是品牌,然后是模型,最后是特定模型。
我所有的列表框 (SELECT) 都工作正常,并且它们使用 Spry 元素正确更新。每个列表框都是从不同的 Spry XML 数据集填充的,这是我的问题。
如果我向用户展示所有四个列表框,则脚本必须去获取所有四个 XML 批次以填充所有四个列表框,这需要几秒钟。我想要做的是按顺序创建/启用列表框,所以在用户从第一个列表框中选择时,第二个被创建/启用,当他们从第二个中选择时,第三个被创建/启用......等等在。
设置 disabled 属性不好,因为脚本在处理之前已经获取了 XML。
有任何想法吗??
硅
更新——对不起,伙计们,不要认为我把我的问题说得很清楚。
在我的脚本的顶部,我声明了四个 Spry XML 数据集变量,每个变量都关闭(在需要时)并对服务执行复杂的 SOAP 查询,然后该服务返回一个 XML 块。每个查询都依赖于最后一个查询,因此一旦用户选择了车辆类型,第二个数据集就会刷新以提供准确的制造商列表。当他们选择制造商时,第三个列表会刷新,以提供该制造商的准确型号列表。当他们选择模型时,会刷新该模型的模型衍生列表(第四个列表)。
在我的脚本下方,我有四个 SELECT,每个都填充有来自 spry 查询的数据。现在,用户必须依次从每个列表中选择所需的选项,以便在最终框中获得正确的模型。我想要做的只是在生成页面时填充第一个框,然后在用户在每个框中选择所需值时填充(或创建??)第二个、第三个和第四个框,就像在 Autotrader 网站中发生的那样( www.autotrader.co.uk)。
正如我在最初的帖子中所说,我不能使用“禁用”属性,甚至不能使用 jQuery show() 和 hide() 函数,因为在所有四个数据集都被提取并填充到 SELECT 之后,这些函数才会触发. 我需要在需要时从头开始理想地创建元素的东西,以停止在开始时获取四批 XML...
希望这可以澄清