0

我正在使用 Zend 框架和使用 dojo 开发一个表单。表单的一部分是收集用户的联系方式和地址。我遇到的问题是使用 FilteringSelect 或 ComboBox dojo 组件来选择城市/城镇。我的数据库中有 40K+ 城镇/城市名称的列表。

我尝试使用 Dojo 组件来获取此列表,但担心 40K 城镇名称太大了。我不想手动使用标准的 html 组件,因为我确信页面中的所有额外文本都会使我的表单成为加载的噩梦。

所以我想我的问题分为两部分:

  1. 我可以实际期望使用的最大 JSON 数据大小是多少,因为我预计我使用的数据太大了。
  2. 允许用户在表单中选择这些城镇名称之一的最佳方式是什么?

提前致谢。

4

1 回答 1

0

Youch,这是一个很大的数据点列表。我想说这真的取决于用户的浏览器和设置。以及对等待的宽容。

如果可以的话,我会说将数据放在 Web 服务后面并使用dojox.data.QueryReadStore。该页面甚至有一个使用服务来使用 ComboBox 查询状态的示例。

<script>
  dojo.require("dojox.data.QueryReadStore");
  dojo.require("dijit.form.ComboBox");
</script>
 ....
<b>Combo lookup of states through QueryReadStore</b><br>
<div dojoType="dojox.data.QueryReadStore" url="/moin_static163/js/dojo/trunk/release/dojo/dojox/data/tests/stores/QueryReadStore.php" jsId="comboStore"></div>
 <div dojoType="dijit.form.ComboBox" store="comboStore" searchAttr="name" pageSize="100"></div>

QueryReadStore.php在 svn 中可用,因此您甚至可以查看他们在服务器端做了什么。

于 2009-07-18T22:21:56.663 回答