1

私の問題はこれです。テーブルの状態を変更するために使用されるボタンがあるページがあります。何が起こっているかというと、ページをスクロールして下にあるボタンをクリックすると、ステータス ページが更新されて立ち上がります。私が欲しいのは、状態が変化したときに、ボタンがクリックされた場所のままであることです。

開いた影:

 $(".table-change-link").click(function (e) {
        e.preventDefault();
        var div = this.rel;
        $.get($(this).attr("href"), function (result) {
            $("#" + div).html(result);
            $("#" + div).dialog({ width: 500, height: 200, modal: true });
        });
    });

ビュー:

<td class="table-comand">
        <a href="@Url.Action("AlterarSituacao", ViewBag.Routes)" title="Atualizar Situação"      class="table-change-link" id="situacao" rel="DivAtualizaSituacao"></a>
        <div id="DivAtualizaSituacao"></div>
    </td>

CONTROLLER: これはリクエストのアクションです

  public ActionResult AlterarSituacao(int page=1)
        {
            CreateRouteValuesForFilters();
            routes.Add("page", page);
            ViewBag.Routes = routes;

            ViewBag.IdSituacaoDocumentoLOV = new SelectList(this.repository.GetAllSituacao().ToList(), "IdSituacaoDocumento", "NomeSituacao");
            return View();
        }

        [HttpPost]
        public ActionResult AlterarSituacao(int IdSituacaoDocumento, int id, int page = 1)
        {
            CreateRouteValuesForFilters();
            routes.Add("page", page);
            ViewBag.Routes = routes;

            this.repository.AlteraSituacaoDocumento(id, IdSituacaoDocumento);
            this.repository.SaveChanges();


            return RedirectToAction("Index",routes);
        }

これはどうやって作るの?

4

1 に答える 1

1

から戻ったときにjqueryが何をするかを示すために、もう少しコードを追加する必要があると思いますAlterarSituacao action。私の推測では、ajax呼び出しの後、 a を返し、partialview更新された要素を前に保留し<td>、古い要素を削除します-私が言ったように、より多くのコードが存在するまで推測

[更新]<td> id に基づいてビューに表示するスクロールを表示するには:

$('html, body').animate({
    scrollTop: $('#item.IdSolicitacao').offset().top,
    scrollLeft: $('#item.IdSolicitacao').offset().left
}, 'slow');

明らかに、上記のハードコードされた例ではなく、ルーチンから変数として idを取得できるはずです。<td>

于 2013-10-08T12:10:40.303 に答える