2

私も SO でこの質問を見たことがあるので、これは多くの人にとって重複している可能性がありますが、この質問に対する答えは見つかりませんでした。

ナビゲーション バーからアイテムを選択し、現在のデータを AJAX で生成されたデータに置き換えることで、別のタグ内のコンテンツを表示したいと考えています。

現在、データをpythonサービスに投稿できます。データは処理され、最終的にクライアントに返されます。データを に変更する最後の部分は行われてdivいません。

これが私のコードです。

パイソンサービス

def dashboard(request):

    if request.is_ajax():
        which_nav_bar = request.POST['which_nav_bar']
        print which_nav_bar // prints which_nav_bar inside the terminal

    ctx = {'result' : "hellloooo"}
    return render_to_response('dashboard/dashboard1.html',ctx, context_instance = RequestContext(request))

JSファイル

$(function (){
    $("#nav_bar li").click(function(){
        alert($(this).text());     // works fine
        $.ajax({
            type: "POST", //able to post the data behind the scenes
            url: "/dashboard/",
            data : { 'which_nav_bar' : $(this).text() },
            success: function(result){
                 $(".container-fluid").html(result);
            }

        });
    });
});

HTML

<div class="navbar">
              <div class="navbar-inner">
                  <ul class="nav" id="nav_bar">
                    <li class="active"><a href="#">Home</a></li>
                    <li><a href="#">Device</a></li>
                    <li><a href="#">Content</a></li>
                    <li><a href="#">About</a></li>
                    <li><a href="#">Help</li>
                </ul>
              </div>
        </div>  

<div class="container-fluid"></div>

出力

これは私が実際に得たものです$(".container-fluid").html(result); 代わりに、Python コードが何か (この場合はctx) を返し、ctx 変数を出力する必要があります。

4

3 に答える 3

1

IDを変更

<div id="container-fluid"></div>

これはIDセレクターです$("#container-fluid")

IDセレクター

クラスごとにアクセスしたい場合は、使用できます

$(".container-fluid")

クラスセレクター

于 2013-08-29T09:49:50.743 に答える
1

変化する

$("#container-fluid").text(result);

$(".container-fluid").text(result);

#によってアクセスするために使用され、によってアクセスするidため.に使用されますclass

于 2013-08-29T09:55:03.130 に答える
0

試す

$("#nav_bar li").click(function(){
        var text_input = $(this).text();     // works fine
        $.ajax({
            type: "POST", //able to post the data behind the scenes
            url: "/dashboard/",
            data : { 'which_nav_bar' : text_input  }
            success: function(result){
                $("#container-fluid").text(result);
            }

        });
    });

使用するコードで

data : { 'which_nav_bar' : $(this).text()},

しかし、あなたのajaxリクエスト$(this).text()では undefined 、

変数に割り当てて、内部で使用しますdata{}

また、最後のコンマを削除します

于 2013-08-29T09:52:45.827 に答える