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