0

メインページに一連のhtmlを返すために使用される部分ビューがあります。私の Ajax 呼び出しでは、その部分的なビューを取得する必要がありますが、特定の<div>要素のみを追加したいと考えています。これは可能ですか?

アヤックスは次のとおりです。

    $(document).ready(function () {
        $("#addItem").click(function () {
            $.ajax({
                url: '@Url.Action("BlankDropDownItem", "DropDownValues")',
                data: { field: $('#Field').val(), displayPage: $('#DisplayPage').val() },
                dataType: 'html',
                cache: false,
                success: function (html) {
                    $("#items").append(html);
                }
            });                
            return false;
        });
    });

これは、この部分的なビューを返す ASP MVC コントローラー メソッドを呼び出します。

    <div id="LeftDiv" style="width:250px;float:left;">
        <fieldset>
            <legend>Category Information</legend>
            <div class="M-editor-label">
                @Html.LabelFor(model => model.Field)
            </div>
            <div class="M-editor-field">
                @Html.EditorFor(model => model.Field)
                @Html.ValidationMessageFor(model => model.Field)
            </div>
            <div class="M-editor-label">
                @Html.LabelFor(model => model.DisplayPage)
            </div>
            <div class="M-editor-field">
                @Html.EditorFor(model => model.DisplayPage)
                @Html.ValidationMessageFor(model => model.DisplayPage)
            </div>
        </fieldset>
    </div>
    <div id="RightDiv" style="width:300px;float:left; padding-left:50px;">
        <fieldset id="items">
            <legend>Drop Down Items</legend>
            <div class="editor-label">
                @Html.LabelFor(model => model.AllowedValue)
            </div>
            <div class="label-field">
                @Html.EditorFor(model => model.AllowedValue)
                @Html.ValidationMessageFor(model => model.AllowedValue)
            </div>
            <div class="editor-label">
                @Html.LabelFor(model => model.DisplayValue)
            </div>
            <div class="label-field">
                @Html.EditorFor(model => model.DisplayValue)
                @Html.ValidationMessageFor(model => model.DisplayValue)
            </div>
        </fieldset>
     </div> 

label-fieldただし、 andeditor-label <div>要素をに追加したいだけですitems

4

1 に答える 1

1

jQuery を使用して、返された html を検索することもできます。可能な限り効率的ではありませんが、目的にはおそらく問題ありません。

$("#items").append($(html).find(".label-field, .editor-label"));
于 2013-05-29T22:12:39.407 に答える