0

我有一个看起来像这样的模板:

<div id="PopUpTemplate" style="display: none">
    <tr><td>${Key}</td><td>${Value}</td></tr>
</div>

我想将它附加到一个表中:

<div id="MessageBox">
    <table>
    </table>
</div>

然后使用 Jquery UI 对话框将其显示为弹出窗口,我正在这样做:

$('#PopUpTemplate').tmpl(data).appendTo("#MessageBox table");


        $('#MessageBox').dialog({
            autoOpen: true,
            modal: true,
            closeOnEscape: true,
            buttons: { 'Ok': function () { $(this).dialog("close"); } },
            position: 'center'
        });

我有两个问题:

第一个是模板被附加在结束</table>标记之后

第二个是当我多次调用它时,我会在表中添加更多数据。但我想先清除所有现有行,然后追加新集

4

1 回答 1

0

对此很新,但在弄乱了这个小提琴之后,我认为你可能做错了模板。如果存储在您的页面上的模板将被大多数浏览器清理,因为它不是有效的 html,对于 chrome 的实例,tr/td 标签被剥离,您的模板然后变成单个 div。然后这个 div 被正确插入,并且很可能被您的浏览器清理并放在表格之后,因为作为一行插入是没有意义的(因为它不是)。

至于替换当前行,一旦您将模板用作模板,您就可以简单地.html#MessageBox table选择器上使用替换任何当前行而不是使用appendTo.

说了这么多,没有看到更多的上下文,我不能完全确定这已经回答了你的问题。也许创建一个小提琴,这样我们就可以确切地看到发生了什么。

于 2012-04-12T21:30:28.653 回答