因此,我使用的是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>

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

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

谢谢。

最佳答案

更改成功函数,如下所示:

function (data) {
    $("#designCenters").html($("#designCenterTemplate").tmpl(data))
}

或者您可以每次清空容器。
$("#designCenters").empty();
$("#designCenterTemplate").tmpl(data).appendTo("#designCenters");

10-08 01:09