0

Zend Framework と dojo を使用してフォームを開発しています。フォームの一部は、ユーザーの連絡先の詳細と住所を収集しています。私が直面している問題は、FilteringSelect または ComboBox dojo コンポーネントを使用して都市/町を選択することです。私のデータベースには、40,000 件以上の町/都市名のリストがあります。

Dojo コンポーネントを使用してこのリストを取得しようとしましたが、40,000 の町名は大きすぎるのではないかと心配しています。標準の html コンポーネントを手動で使用したくありません。ページ内のすべての余分なテキストがフォームの読み込みを悪夢にしてしまうと確信しているためです。

したがって、私の質問は2つの部分に分かれていると思います:

  1. 使用しているものは大きすぎると予想されるため、実際に使用できると予想できる最大の JSON データ サイズはどれくらいですか。
  2. ユーザーがフォームでこれらの町名の 1 つを選択できるようにする最善の方法は何でしょうか?

前もって感謝します。

4

1 に答える 1

0

ええ、それはデータ ポイントの大きなリストです。ユーザーのブラウザと設定に大きく依存していると思います。そして待つことへの寛容。

可能であれば、データを 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 に答える