人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Jqueryで外部ファイルを読み込んだ際のページング処理について困っています。
<script>
$(function(){
$('#time').change(function(){getContents();});
});

function getContents(){
var timeId =$('#time').val();
var countryId = getChecked('country_id[]');
var http = $.get (
"http://localhost/eigazuki/results/title:/time:" + timeId,
null,
function ( data ) {
$("#serviceListSection").html(data);
}
)
}
</script>

<select name="data[time]" id="time">
<option value="0〜300">気にしない</option>
<option value="0〜59">0分?59分</option>
</select>

<section id="serviceListSection"></section>

プルダウンが選択されるたびにそれに一致したデータをデータ一覧ページから取得してくる仕組みです。
1ページに30件表示です。次へをクリックしますと
http://localhost/eigazuki/search/title:/time:0〜300/page:2
と表示されるのですが、TOPページに戻され、resultページにある2ページ目のデータを取得してくれません。もうたいへん困っています。
難しい質問ですが、どなたかアドバイスをいただけないでしょうか?


●質問者: ぱんたま
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● taroe
●60ポイント

cakephpのページネーションとは関係ありません。



たとえば、チェックボックスを選択すると
内部でJavascriptの関数 getContents()が呼ばれて検索結果が表示されますよね。


getContentsの中の以下の部分の
var http = $.get (
"./results/title:/time:" + timeId + "/country_id:" + countryId + "/genre_id:" + genreId +
"/feeling_id:" + feelingId + "/partner_id:" + partnerId,
null,
のあたりで取得してます。


ページングの方ですが
http://kyouryu.sakura.ne.jp/eigazuki/search/title:/time:0%E3%80%9C300/country_id:1/genre_id:/feeling_id:/partner_id:/page:2
がリンク先になってますが
ここが間違ってます。

getContentsのような関数を作成して
リンクをクリックしたときに、その関数を呼び出し
その中のvar http = $.getあたりで
./results/title:/time:0%E3%80%9C300/country_id:1/genre_id:/feeling_id:/partner_id:/page:2
みたいな感じで呼び出せばうまくいくのでは?


ぱんたまさんのコメント
それの処理の流れは、2ページ目をクリックしたら「resultsページの2ページ目」からデータを取得するってことなので、私も同じく末にpage:2を追加しても良いと思いました。 ./results/title:/time:" + timeId + "/country_id:" + countryId + "/genre_id:" + genreId + "/feeling_id:" + feelingId + "/partner_id:" + partnerId + "/page:" +2 ってことです。どうやってページ番号を取得すればいいのかで詰まっています。今は・・・。

2 ● Cherenkov
●140ポイント ベストアンサー

ページの番号のリンク先がsearchになっているところをresultsに直して、
searchビューに、

$(".pagination a").live('click', function(){
 $("#serviceListSection").load(this.href);
 return false;
});

とすればいいのかな…


Cherenkovさんのコメント
どれです?

ぱんたまさんのコメント
>|| $(".pagination a").live('click', function(){ $("#serviceListSection").load(this.href); return false; }); ||< ページネーションがクリックされたら、ってとこまでは分かるのですが、 load(this.href)以下はどんな処理をしているのでしょうか?

Cherenkovさんのコメント
ページ遷移を抑制

ぱんたまさんのコメント
そうなんですね。また詳しく自分でも調べてみます。 本当にありがとうございました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ