jQuery tmpl清楚

时间:2011-09-30 02:01:29

标签: jquery jquery-templates

有谁知道如何清除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">&nbsp;</td>
    </tr>
</table>

1 个答案:

答案 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); }
};