0

私は2つのdivタグを持っています。最初の div タグをクリックすると、AJAX 呼び出しが行われ、2 番目の div タグが最初の div タグに置き換わります。

2 番目の div タグに [戻る] ボタンがあります。[戻る] ボタンをクリックすると、最初の div タグが 2 番目の div タグに置き換えられていることがわかります。

これが私のRazorコードです:

<div id="tag1" onclick="show_placedetail()>
    <a href="#" class="button button-small button-style3 butcurve-sml">View</a>
</div>

<div id="tag2">
    <a href="#" class="button button-small button-style4 butcurve-sml" onclick="show_placelist()">Back</a>
</div>

これが私のAJAX呼び出しです:

@using (Ajax.BeginForm("Detail", "Places", new AjaxOptions
    {
        HttpMethod = "POST",
        InsertionMode = InsertionMode.Replace,
        UpdateTargetId = "tag1",
    }, new { name = "PlaceDetailsForm", id = "PlaceDetailsForm" }))
{
    <input type="hidden" name="locationId" id="locationId" />
    <input type="hidden" name="distance" id="distance" />
}

そして、ここに私のJQueryがあります:

function show_placedetail() {
    $('#tag1').hide();
    $('#PlaceDetailsForm').submit();
}

function show_placelist() {
    $('#tag2').hide();
    $('#tag1').show();
}

最初の div タグの .html() コンテンツが AJAX 呼び出し後に空になることを確認しました。

AJAX で別の div タグに置き換えられた div タグを表示するにはどうすればよいですか? 最初の div コンテンツを表示するには、別の AJAX 呼び出しを呼び出す必要がありますか?

親切にアドバイス。

前もって感謝します。

4

1 に答える 1

0

私は自分の間違いを修正しました。

実際、最初の div を AJAX に置き換えています。したがって、もう一度表示しようとしても使用できません。そこで、親タグを作成し、その中に両方のタグを配置しました。InsertionMode オプションを InsertAfter に変更します。

現在、正常に動作しています。

更新された Razor コードは次のとおりです。

<div id="parent">
  <div id="tag1" onclick="show_placedetail()>
      <a href="#" class="button button-small button-style3 butcurve-sml">View</a>
  </div>

  <div id="tag2">
      <a href="#" class="button button-small button-style4 butcurve-sml"   onclick="show_placelist()">Back</a>
  </div>
</div>

そして私の更新されたAJAXコード:

@using (Ajax.BeginForm("Detail", "Places", new AjaxOptions
    {
        HttpMethod = "POST",
        InsertionMode = InsertionMode.InsertAfter,
        UpdateTargetId = "parent",
    }, new { name = "PlaceDetailsForm", id = "PlaceDetailsForm" }))
{
    <input type="hidden" name="locationId" id="locationId" />
    <input type="hidden" name="distance" id="distance" />
}
于 2014-03-29T06:29:58.340 に答える