有谁知道如何清除jQuery tmpl()
以便我可以重新填充它?我不能使用empty()因为我需要父级中的其余内容。我可以使用删除,但我需要知道有多少...等等,我可能只是想出来了:)
模板看起来像这样
<table id="lvList" class="grid1">
<tr id="itemtemplatePlaceHolder">
<th>Reference</th>
<th>Address</th>
<th>Country</th>
<th>Postcode</th>
<th>Tel</th>
<th>Fax</th>
<th style="width:50px;">Billing</th>
<th style="width:50px;">Shipping</th>
</tr>
<script id="itemtemplate" type="text/x-jquery-tmpl">
<tr>
<td><a id="${id}" href="address.aspx?id=${id}" oncontextmenu="ContextMenu.Show(this,event); return false;">${reference}</a></td>
<td>${$item.nobreak("address", ", ")}</td>
<td>${country}</td>
<td>${postcode}</td>
<td>${tel}</td>
<td>${fax}</td>
<td>${$item.bool("defaultbilling", "X", "")}</td>
<td>${$item.bool("defaultshipping", "X", "")}</td>
</tr>
</script>
<tr id="footertemplate">
<td colspan="8"> </td>
</tr>
</table>
答案 0 :(得分:1)
回答了我自己的问题:)但是为了防止其他人有同样的问题,他就是我所做的
跟踪数据列表this.itemcount = data.Count();
中有多少项,然后删除占位符之后的所有兄弟,其索引小于项目数$("#itemtemplatePlaceHolder ~ :lt(" + this.itemcount + ")").remove()
this.Populate = function () {
try {
if (this.itemcount > 0) {
$("#itemtemplatePlaceHolder ~ :lt(" + this.itemcount + ")").remove();
}
var data = this.GetData();
this.itemcount = data.Count();
$("#itemtemplate").tmpl(data).insertAfter("#itemtemplatePlaceHolder");
}
catch (ex) { this.HandleError(ex); }
};