JQuery TMPL очистить - PullRequest
       5

JQuery TMPL очистить

0 голосов
/ 30 сентября 2011

Кто-нибудь знает, как очистить 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 Ответ

1 голос
/ 30 сентября 2011

ответил на мой собственный запрос :), но на тот случай, если у кого-то возникнет такая же проблема, он сделал то, что я сделал

Отслеживал, сколько элементов было в списке данных 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); }
};
...