覆盖tbody内容jQuery

问题描述 投票:0回答:2

我有一个输入字段如何输入计数。

首先,如果我尝试输入数字5,所以我有五个“tr”是好的,但如果输入一个新的数字示例4所以我有9“tr”而不是4.我喜欢覆盖旧状态。

我该怎么做?

这是我的HTML代码:

<input type="text" id="count">

    <table id="event_table">
        <tbody>

        </tbody>
    </table>

这是我的jQuery代码:

jQuery("#count").change(function() {

    var count = jQuery('#count').val();

    //built table
    var tr_var = "<tr><td>date</td><td>time</td><td>icons</td></tr>";

    for (var i = 0; i < count; i++ ) {
        jQuery("#event_table tbody").append(tr_var);
    }

});

在这里我的jsfiddle:http://jsfiddle.net/2cee8/

希望可以有人帮帮我。

jquery html-table overwrite
2个回答
1
投票

只需添加

jQuery("#event_table tbody").empty();

在循环之前。

所以完整的代码将成为:

jQuery("#count").change(function () {

    var count = jQuery('#count').val();
    jQuery("#event_table tbody").empty();
    //built table
    var tr_var = "<tr><td>date</td><td>time</td><td>icons</td></tr>";

    for (var i = 0; i < count; i++) {
        jQuery("#event_table tbody").append(tr_var);
    }

});

但是:ぁzxswい


0
投票

关于性能,这是更好的,连接一个字符串,使用http://jsfiddle.net/2cee8/1/只请求DOM一次:

.html()
© www.soinside.com 2019 - 2024. All rights reserved.