0

いくつかの div を含むページ設定があります。今のところ必要なのは

<div id="main">...</div> & <div id="sidebar">...</div>

各 div には次のようなコードがあります。

<?php include("page.php") ?>

メインの div がすべての作業を行い、JavaScript 関数が含まれています。たとえば、ユーザーがボタンをクリックして、表に表示されているアイテムを記憶できる瞬間などです。

ユーザーがこの関数を呼び出したときに、ページ全体ではなくサイドバーのみをリロードできますか? ここに関数を投稿しています。可能であれば、サイドパネルとそれに含まれるphpファイルを更新できるようにするだけでよいですか? これに沿った何かが仕事をすることができると思いますか?または私は間違っていますか?load("#sidebar")

function saveToFavorites(code)
{

    $.ajax({
        async:false,
        type: "POST",
        url: 'formPostsUser.php?reqtype=addToFavorite',
        data:'coursecode='+ code,
        success: function(data) 
        {
            $('.result').html(data);
            if(data != "")
            {
                alert(data);
                load("#sidebar") 
            }
        }
    });
}

よろしくアレックス

すべての返信とヒントに満足しています;)

4

1 に答える 1

4

初めにすること

 <div="sidebar">..</div> 

上記のマークアップは間違った HTML です。id や class などのプロパティの値としてサイドバーを指定する必要があります

<div id="sidebar">..</div> 

サイドバー コンテンツの読み込み

jQuery ajax を使用して、このような jQuery loadメソッドを使用してこの div のコンテンツをロードできます

$(function(){
  $("#sidebar").load("yourPHPPageToReturnSideBarContent.php");  
});

yourPHPPageToReturnSideBarContent.phpサイドバーの HTML マークアップをレンダリングする PHP ページを想定しています。これにより、ドキュメント準備完了イベントでコンテンツが読み込まれることに注意してください。

イベントでのサイド バー コンテンツの読み込み

ボタンクリックのような特定のイベントにロードしたい場合は、このようにすることができます

$(function(){
  $(document).on("click","yourButtonId",function(){
     $("#sidebar").load("yourPHPPageToReturnSideBarContent.php");  
   });
});

上記のスクリプトは、ボタンのクリックでサイド バーのコンテンツを読み込みます。この例では、ボタンの ID は "yourButtonId" です。

ここでjQuery を使用して関数をバインドしたことに注意してください。これは、ボタンを動的に含むマークアップをロードする場合に備えて、現在の要素と将来の要素を処理するためです。

于 2012-04-25T16:22:46.537 に答える