2011-08-06 9 views
0

私は毎月の日付を表示するPHPのカレンダーを作成しました。今私がしたいのは、ページをリフレッシュせずに月間を移動できるようにすることです。AJAXを使用してPHPカレンダーの月を変更する

通常、スクリプトはURL内のパラメータを受け取ります。そのため、AJAXのロードリクエストを通じてその情報を渡そうとしました。これは、前方に1ヶ月、後方に1ヶ月間働く。しかしその後、リンクは機能しなくなり、 "#"はURLに戻ります。

$(document).ready(function(){ 

//Calendar "next" 
$("#db-cal-next").click(function(){  
    var get_params = $(this).attr("rel"); 
    $("#db-calendar-wrap").load("../template/db-calendar.php", get_params); 
    return false; 
}); 

//Calendar "previous" 
$("#db-cal-prev").click(function(){ 
    var get_params = $(this).attr("rel"); 
    $("#db-calendar-wrap").load("../template/db-calendar.php", get_params); 
    return false; 
}); 
}); 

私は、次および前の数ヶ月のための要求を作成するために必要な必要なパラメータ上のPHPスクリプトのパスを持っていたし、それが「REL」属性を通じてその情報を渡していた:

は、ここに私のコードです。私は、カレンダースクリプトが実行されるときにrel属性が変更されていないので、パラメータの新しいセットが生成されないという問題があると思います。

ご協力いただきありがとうございます、ありがとうございます!

答えて

0

はあなたの#db-cal-next#db-cal-prev場合は、#db-calendar-wrapの内部にあるよりも、あなたがIDを持つ、新しい要素をラッパーにAJAXを経由してHTMLを読み込むときに、 "DB--CAL次" と "DB-CAL-PREV" を作成しました。だから、新しい要素はあなたのjQueryセットにはありません。あなたはjQuery .live()イベントバインダー関数を使用する必要があります:http://api.jquery.com/live/ しかし、jQuery UI Datepickerの機能が必要ですか?

+0

は、誰もがすでに ')('住んで使用して終了しますか?彼らは理由のために 'delegate()'を作成しました。 –

+0

@Levi - 理由は何ですか? –

+0

私はこれについて知りませんでした。情報をありがとう、 'delegate()'はこれを行う良い方法です。 – Timur

0

クライアントで状況を更新したい場合は、クライアント側のソリューションが本当に必要です。

ツールキットとスタンドアロンモジュールの両方で利用できるJavascriptカレンダーが多数あります。たとえば:

CalendarView

jsDatePick

Dojo Widgets

関連する問題