2012-02-28 8 views
0

私は検索機能を持つWebアプリケーションを持っています。ホームページには検索ボックスがあり、ユーザーは検索条件を入力して「検索」ボタンをクリックすることができます。ボタンをクリックすると、AJAXリクエストがサーバーに送信され(Struts Action)、DAOレイヤーを使用してデータベースにヒットし、検索結果を取得します。divにAJAXレスポンスをレンダリングする最も良い方法は何ですか?

この検索結果をクライアント側に送り返し、結果を<div>タグで結果をjQueryを使用してレンダリングします。 1ページには10件の結果が含まれます。ユーザーが '次のページ'をクリックすると、さらに10個のレコードが表示されます。

これを行うにはどうすればよいでしょうか?

+3

http://jqueryui.com/demos/autocomplete/

を訪問することができますかあなたの質問には多くの要件があります。どのパーツにはすでに実装されていますか、どのパーツに問題がありますか? –

+0

現在のコードでは起動していませんが、サーバーからクライアントへデータを送信する形式を理解したいのですか?Jsonやその他のものは?クライアント側でレンダリングする方法は?document.getElementById( " resultDiv ")。innerHtml =" .. "クライアント側。 – JRR

答えて

0

おそらく最も良い方法は、.load() jQueryメソッドを使用して検索結果を提供し、AJAX経由で結果divのコンテンツを操作することです。たとえば、次のページに移動するイベントをトリガーするために、.onメソッドを使用してコンテナdiv内の要素に対処することができます。この方法では、コンテナdivのみが必要です。必要なサーバサイドのすべての言語を使用して、結果データを他の場所に自由に作成できます。

+0

ありがとうbobighorus! JSONを使用して送信する必要がありますか? – JRR

+0

外部のHTMLページを作成し、.load()メソッドでロードすることをお勧めします。このページをPHP、JSONなどでビルドすることができます。この回答が参考になった場合は、チェックして受け入れてください:) – bobighorus

0

「次の」ページ機能は、一般にページネーションと呼ばれます。すべてのプログラミング言語には、Google全体でいくつかの例があります。 Pagination +プログラミング言語で簡単に検索してください。

例の残りの部分はバックエンドを処理するためにPHPの使用はjQueryとAjaxによる

を要求したと仮定し、我々は成功のパラメータに応答を扱う、従うべき例:がある

$.ajax({ 
    url: 'whatever.php' 
    data: 'mystring='+mystring, 
    success: function(data){ 
    $("#myElement").html(data); 
    } 
}); 

データwhatever.phpによって返されたすべての情報を含むオブジェクトとして返されます。しかし、あなたの結果をwhatever.phpファイルに構造化する方法は、データがどのように構造化されて表示され、id = "myElement"を持つ要素に配置されるかということです。

0

jqueryは、Webアプリケーションの検索機能を開発するためのオートコンプリートコントロールを提供しています。

あなたはこれまでに何をした?詳細は

おかげで、 ビジェイsatlawar

+0

あなたが正しいとはいえ、これはユーザーのためには本当に適切ではありません尋ねる – allen213

関連する問題