3

テーブルの行の部分的なビューがあります。表の各行は要素を説明しています。要素は子要素を持つことができますが、それが子要素である場合、それ自体の子を持つことはできません。テーブルには、各親要素の行と、そのすべての子要素のリストがあります。子要素の横にクリックできるリンクを配置するように取り組んでいますが、これは子ではなくなります。したがって、リストから削除し、削除した親要素の下のテーブルに行を追加する必要があります。次のjavascript関数があり、データベース内の要素を正しく更新して親がなくなるようにし、リストから削除します。

    function removeElementFromParent(id, parentid) {
        if (confirm("Are you sure you want to remove this element from the group?")) {
            $.post('@Url.Content("~/Pack/RemoveElementFromParent")', { "elementid": id });
            $('#' + id).remove();
        }
    }

行を作成して挿入するために、私は次のことを試みました。

$('@Url.Action("~/Pack/ElementRow", new { elementid = id })').insertAfter('#' + parentid);

ただし、@ Url.Action(...)内でjavascript変数idを使用できないため、これは機能しません。$('#id').load(@Url.Action(...));要求に応じてデータをロードするためにを使用しました。私は似たようなことをしようとしましたが、それをロードする場所が定義されていないため、この場合は機能しませんでした。また、JavaScript変数を使用することはできません。

これを行うためのより良い方法があれば、いくつかの助けをいただければ幸いです


編集

これが私の解決策です:

$('<tr id="' + id + '"></tr>').insertAfter('#' + parentid);
$('#' + id).load('@Url.Action("ElementRow")' + '?elementid=' + id);
4

1 に答える 1

1

Url.Actionでjavascript変数を使用する場合は、次のように記述します。

$('@Url.Action("~/Pack/ElementRow")' + "?elementid=" + id).insertAfter('#' + parentid);

これで問題が解決することを願っています。

于 2012-06-19T17:11:13.673 に答える