0

smarty テンプレート、php、ajax を使用しています。smarty テンプレートのコード スニペットを以下に示します。

<td align="left" id="subject_container" colspan="2" valign="top">
    <form>
    <table cellpadding="0" cellspacing="10" border="0" width="68%"> 
                      <tr>
                        <td align="center">
                        {if $subject_details}  
                          Subjects
                        </td>
                        {assign var='i' value=0}
                        {foreach from=$all_subjects item=subjects}
                      </tr>
                      <tr>
                        <td align="left" valign="top" width="150">
                        {foreach from=$subject_details item=subject} 
                        {if $subject.cs_subject_id==$subjects.subject_id}{$subjects.subject_name}{/if}
                        {/foreach}
                        </td>
                        {assign var='i' value=$i+1}
                      {/foreach}
                      </tr>
                      {/if}
                    </table>
                  </form>
                </td>

jQuery 関数は次のようになります。

function get_subjects_by_class(class_id) { 
    var field_id = 'subjects';

    $.ajax({
                url: "teacher_details.php",
          type: "POST",
                data: {'request_type':'ajax', 'op':'get_assigned_subject_list', 'class_id':class_id},  
                success: function(data) {
                $('#subject_container').append(data);
                }
      });
    }

今私が達成したいのは、関数が呼び出されるたびにコンテンツがid="subject_container"明確になり、phpファイルからの応答として来る新しいコンテンツに置き換えられることです。私はそれを探しましたが、満足のいく解決策を得ることができませんでした。この点で誰かが私を助けることができますか? 前もって感謝します。

4

2 に答える 2

3

変化する

$('#subject_container').append(data);

$('#subject_container').html(data);
于 2013-05-22T05:13:47.603 に答える