2017-01-26 14 views
1

私はページ(/ Search)に検索バーがあり、ユーザが何かを検索すると、入力テキストのフィルタが実行され、ページが更新されますフィルタリングされた結果が表示されます。検索結果の.get()と.find()

誰かが単語「猿​​」を検索すると、検索結果のURLは、私はページを更新しなくても、それを実現するためにしようとしている

/Search?searchBoxText=monkey

になります。私が持っている私のmain.jsでそう

$(function() { 
    $("#searchBox").keyup(function (e) { 
     var searchBoxText= $("#searchBox").val(); 
     $.get("/Search?searchBoxText=" + searchBoxText, function (getHtml) { 
      $("#resultsDiv").html(getHtml); 
     }); 
    }); 
}); 

問題は、それが#resultsDiv内のページの全身が表示されていることであり、私はそれだけで#resultsDivを表示したいです。したがって、ヘッダー、検索バー&ボタンをもう一度表示します。

本来、#resultsDivの新しい結果(#resultsDivにある)を表示したいのですが、結果のページから特定の要素のみを取得するように.get()を制限することはできません。

私はそのような

  • $.get("/Search?searchBoxText=" + searchBoxText + " #resultsDiv", function (getHtml)

  • $("#resultsDiv").html(getHtml).find("#resultsDiv");

そして、他の変更を実行しようとしましたが、何も動作するように見えません。

ありがとうございます!

答えて

0

$("#resultsDiv").html($(getHtml).filter("#resultsDiv")); 

Demo

+0

次試してみてください 'getHtml'はとても'見つける() 'メソッド –

+0

うん、これは動作しませんを持っていません文字列です。私はそれが試したことの一つだと信じています – barneesh

+0

まだ動作しません。コンソールのエラーメッセージが表示されます。 "キャッチされていないTypeError:getHtml.filterは関数ではありません" – barneesh