2012-03-27 4 views
1

を使用してdivの内部情報を更新....その表示は隠されています....私はjqueryを使用して、このdiv内のこのdivを消すアンカータグをクリックします。顧客が別のページにナビゲートされた日付を選択すると、日付を選択するppカレンダーがありますしかし、私は2つのドロップダウンメニューを持っているので、彼らはカレンダーの月と年のビューを変更することができます(それは恐ろしいPHPの経験でした!)。彼らが月表示を変更すると、フォームの 'アクション'はそれらを同じページに送りますが、カレンダー月ビューを選択して送信します。問題は、フォームが私たちをカレンダーページに戻すとdivが再び隠され、 unfade divアンカータグをクリックする必要があります。は、私はdiv要素を持っている...</p> <p>を私が調査し、研究し、私はdivの内部の情報を更新するためにjqueryのを使用しようとしたが、これまで無駄にしていているjqueryの

私はこれを行うには次の方法しか考えられません。更新されたカレンダーでページをリロードするのではなく、ドロップダウンメニューのフォームをクリックしたときにdivをリロードするだけです(div内のカレンダー(すべてのもの)を保存してください)。

しかし、私はdiv内のページをリロードするコードしか見つけることができません。質問は少し総称として見ることができるので、

任意のアイデア...私は

は、問題のdiv要素が呼び出されると言うことができます.... ...#私は助けるために与えることができますどのようなコードを確認していませんterms9とアンカータグは#showcalenderと呼ばれます。必要なコードをリクエストしてください。

答えて

2

あなたの行動のURLがcalendar.phpだとします。

あなたがダウンメニューあなたのドロップを変更すると、あなたはハンドラが同じページを要求すると、現在のカレンダーのdivにその要求からカレンダーのdivをロードする:

$('#mydropdown').on('change', function() { 
     $.get('calendar.php', { month: $(this).val() }, function(data) { 
      $('#mycalendar').replaceWith($(data).filter('#mycalendar')); 
     }); 
}); 

.get()は速記ですパラメータ({ month: ... })でurlを要求し、返されたデータで指定されたコールバック関数を呼び出すメソッドです。ここでは、正しいセレクタのデータを解析し、既存のセレクタを置き換えます。

ここでは、コードについて多くの前提を明確にしていますが、これが基本的な考え方です。また、必要に応じて​​またはその他のajax関数を使用することもできます。ここで

.post()を使用して(少し複雑)の例である:

この場合

http://jsfiddle.net/SHwtr/1/

/echo/html/は、PHPのURLとなり、代わりにhtml: ...の、あなたのPHPのパラメータを置きます。

+0

ありがとう、私はちょうどそれの周りに私の頭を持っています – Phil

+1

'.get()'または '.load()'はバックグラウンドでURLを読み込み、htmlをあなたに返します( 'data' )。次に、jQueryを使って必要な部分を取り出し、現在ロードされているページに挿入します。 –

1

を読み取るための

おかげで、あなただけの再ロードのdivしたい場合は、jQueryのload機能を見てすることができます。

ページ全体をリロードする場合は、リロード時にdivがバックエンドコードに隠されないように設定するだけで済みます。おそらく、ドロップダウンからの値がリクエストで渡されたかどうかに基づいてこれを検出できます。

+0

$(document).ready(function(){ $( "input#submit")。(function(){ $( "check-up.php")をクリックします。負荷( "#terms9") }); });この仕事のようなものは、すべての情報と#terms9を含むページであることを確認してください。cont30 div30。 – Phil

+0

私がリンクしているドキュメントを見てください。 'load'にはURLが必要です。 –

関連する問題