2012-04-10 16 views
0

クエリを使用して3つのタブを作成する必要がありますが、それぞれがAjaxリクエストでフィルタ可能なデータを取得する必要があります。基本的に、ページには左側に静的なdivが設定され、右側には選択したタブに従って右側のタブが表示されます。jQueryタブ付きAjaxコンテンツ

私はちょうどajaxコンテンツをつかんで各タブに入れるのに最適な方法は何だろうと思いますか?

私は私の質問を明確にしたいと思う。

+0

使用jqueryのタブhttp://jqueryui.com/デモ/タブ/それは既にajaxをサポートしています... – Baba

答えて

1

私はあなたの質問を正しく理解しているなら、これはかなり簡単です。例えば、

$('#tab1').click(function(){ 
    //Fetch a webpage (via GET) and load into 'result' 
    $.get('/path/to/stuff.htm',function(result){ 
     //Replace content of container with result 
     $('#containerDiv').html(result); 
    }); 
}); 

それは本当に簡単です...あなたは、静的なWebページを取得し、単にあなたのコンテナのdivにそのWebページのすべてのコンテンツを挿入したいとしましょう。 XMLRPCリクエストからCDATAを抽出するなどの結果が必要な場合は、の結果をとしてjQueryオブジェクトとしてロードし、要素を見つけてロードしてください。

$('#tab1').click(function(){ 
    //Fetch a webpage (via GET) and load into 'result' 
    $.get('/path/to/stuff.htm',function(result){ 
     //Make result a jQuery obj 
     result = $(result); 
     //Replace content of container with result 
     $('#containerDiv').html(result.find('mycdata').text()); 
    }); 
}); 

私も注意する必要があります.CDATAでラップされたXML結果がある場合は、HTMLとして挿入しても常に.text()として読んでください。結果がCDATAでラップされていない場合は、.html()として読み込みます。

UPDATE:あなたは、サーバー(ASCまたはDESCをソートするように)、あなたがこれを行う可能性がありますに余分なデータを送信する必要がある場合 ...

$('#tab1').click(function(){ 
    //Fetch a webpage (via GET) and load into 'result' 
    $.get(
     '/path/to/service', 
     { sort:'ASC', startDate:'2012-04-01', endDate:'2012-04-08'}, 
     function(result){ 
      //Replace content of container with result 
      $('#containerDiv').html(result); 
     } 
    ); 
}); 
+0

それはかなり良いようですが、私は余分な機能が必要です。基本的には、フィルタを使用してajaxリクエストを更新する必要があります。 1週間前のデータベースから結果を取得したいだけで、フィルタが変更されるたびに更新する必要があるとします。 – Sneaksta

+0

この場合、リクエストで余分なデータを送信するだけで済みます。私は例を使って答えを更新します... –

+0

私は答えを更新しました。 PHPの$ _GETまたは$ _REQUESTを使って、それらのjavascriptプロパティにアクセスできます。たとえば、$ startDate = $ _GET ['startDate'] –

関連する問題