Dojo ComboBox / Filtering Select Component可以加载的最大JSON数据大小是多少?

时间:2009-07-18 19:27:15

标签: zend-framework dojo zend-form

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

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

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

  1. 我可以实际期望使用的最大JSON数据大小是多少,因为我希望我使用的是太大了。
  2. 允许用户在表单中选择其中一个城镇名称的最佳方法是什么?
  3. 提前致谢。

1 个答案:

答案 0 :(得分: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>
svn中提供了

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