2012-01-13 7 views
1

MVC3でjQueryを使用して部分をレンダリングしようとしています。セクション内のHTMLを変更して、ドロップダウンの選択が変更されたときに更新できるようにしたいと思います。jQueryを使用してレンダリング部分

$(document).ready(function(){ 

    $("#partial-6").html(@Html.Partial("_Edit",Model.Groups[0])); 

}); 

ページの読み込み時にセクションを変更しません。ちょうど私がそこに入力したことを言っている "私は部分的だ"

答えて

2

引用符を追加しない限り、引用符を追加する必要があります。そうでなければ、.html()関数に文字列を渡していません。

$(function(){ 
    $('#drop-down-id').on('change', function() { 
     $("#partial-6").html('@Html.Partial("_Edit",Model.Groups[0])'); 
    }); 
}); 

これを#partial-6要素に#drop-down-id要素が変更されるたびに同じコードを配置します。 #partial-6要素に入れている情報を実際に変更したい場合は、AJAX呼び出しを行ってサーバーからパーシャルを返す必要があります。

$(function(){ 
    $('#drop-down-id').on('change', function() { 
     $.get('path/to/server-side.asp', { id : $(this).val() }, function (serverResponse) { 
      $("#partial-6").html(serverResponse); 
     }); 
    }); 
}); 

これは、コードをトリガし、ドロップダウンの値に設定されているGET変数、id、で送信され、サーバー側のスクリプトのためのGETリクエストを作成します。

.on()はjQuery 1.7で新しく、この場合は.bind()と同じです。

+0

お返事ありがとうございます。私は本当に理解していない。この 'path/to/server-side.asp'はどのファイルですか?これはコントローラアクションですか? –

+0

申し訳ありませんが、私は 'asp.net'のほとんどを知りません。しかし、あなたがしたいことは、AJAX呼び出しで部分的なHTMLを取得することです。 – Jasper