jQuery模板 - 替换DIV内容

Sco*_*ott 5 asp.net-mvc jquery templates

所以我正在使用jQuery模板,并在我的应用程序中使用以下代码:

@using (Html.BeginForm())
    {
        @Html.DropDownList("StateList",
                            Model.States,
                            "< Select >"
                            )

        <div id="designCenters"></div>

        <script id="designCenterTemplate" type="text/html">
            <p><li>${Name}</li></p>
        </script>           
    }

    <script language="javascript" type="text/javascript">
        $("#StateList").change(function () {
            $.getJSON("/api/designcentersbystate/" + $(this).val(), 
              function (data) { 
                  $("#designCenterTemplate").tmpl(data).appendTo("#designCenters")
               });
        });
    </script>
Run Code Online (Sandbox Code Playgroud)

由于我在模板函数的回调函数参数中调用.appendTo,显然设计中心列表被添加到列表中.我的目标是<div id="designCenters">用模板化结果替换内容.

寻找最有效的方法来做到这一点.

谢谢.

Jos*_*ell 9

像这样改变成功函数:

function (data) { 
    $("#designCenters").html($("#designCenterTemplate").tmpl(data))
}
Run Code Online (Sandbox Code Playgroud)

或者你可以每次清空容器.

$("#designCenters").empty();
$("#designCenterTemplate").tmpl(data).appendTo("#designCenters");
Run Code Online (Sandbox Code Playgroud)