Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery中清除带有数据的动态生成表_Jquery_Html - Fatal编程技术网

在jquery中清除带有数据的动态生成表

在jquery中清除带有数据的动态生成表,jquery,html,Jquery,Html,我有一个jQueryDataTable,它在每一行上都有一个展开按钮。当我单击展开按钮时,它会展开该行,并显示另一个包含其他信息的嵌套表 我遇到的问题是,每当我快速双击展开按钮时,嵌套表就会被冗余记录填充。我的问题是如何刷新表中以前的数据 我随附了部分示例代码和以下问题: $('.js-cars-list').on('click', '.js-expand-btn', function () { var value = $(this).attr('id');

我有一个jQueryDataTable,它在每一行上都有一个展开按钮。当我单击展开按钮时,它会展开该行,并显示另一个包含其他信息的嵌套表

我遇到的问题是,每当我快速双击展开按钮时,嵌套表就会被冗余记录填充。我的问题是如何刷新表中以前的数据

我随附了部分示例代码和以下问题:

  $('.js-cars-list').on('click', '.js-expand-btn', function () {
            var value = $(this).attr('id');
            $('.js-expand-btn').text('+');

            if ($(this).parents('tr').hasClass('parent')) {
                $(this).text('-');

                GetCarDetails(value);
            }
            else {
                $(this).text('+');
            }

        });


function GetCarDetails(carId) {

            $.ajax({
                url: '@Url.Action("GetCarDetails", "Cars")',
                type: 'POST',
                data: { carId: carId },
                dataType: 'json',
                success: function (data) {

                                    $.each(data.data, function (key, value) {

                                        $.each(value, function (k, v) {
                                            $(".mdl-data-table .mdl-data-table").append("<tr><td><a href=/Car/Detail?search=" + v.Id + ">" + v.Name + "</a></td><td>" + v.Model + "</td><td>" + v.RegNumber + "</td><td>");
                                        });

                                    });
                                },
                error: function (data) {
                    console.log('Error occured');
                }
            });
$('.js cars list')。在('click','.js expand btn',函数(){
var值=$(this.attr('id');
$('.js展开btn').text('+');
if($(this).parents('tr').hasClass('parent')){
$(此).text('-');
GetCardDetails(值);
}
否则{
$(this.text(+);
}
});
函数GetCardDetails(carId){
$.ajax({
url:'@url.Action(“GetCardDetails”、“Cars”),
键入:“POST”,
数据:{carId:carId},
数据类型:“json”,
成功:功能(数据){
$.each(数据、数据、函数(键、值){
$。每个(值、函数(k、v){
$(“.mdl数据表.mdl数据表”).append(“+v.Model+”+v.RegNumber+”);
});
});
},
错误:函数(数据){
console.log('发生错误');
}
});
我怎样才能澄清这一点

$(".mdl-data-table .mdl-data-table").append("<tr><td><a href=/Car/Detail?search=" + v.Id + ">" + v.Name + 
"</a></td><td>" + v.Model + "</td><td>" + v.RegNumber + "</td><td>");
$(“.mdl数据表.mdl数据表”).append(“+v.Model+”“+v.RegNumber+”);
下一次单击并用新数据填充它


请提供帮助。

您可以在向表中添加新数据之前清除表

像这样的

function GetCarDetails(carId) {

    // clear table data 
    $(".mdl-data-table").empty();

    $.ajax({
        url: '@Url.Action("GetCarDetails", "Cars")',
        type: 'POST',
        data: { carId: carId },
        dataType: 'json',
        success: function (data) {

            $.each(data.data, function (key, value) {

                $.each(value, function (k, v) {
                    $(".mdl-data-table").append("<tr><td><a href=/Car/Detail?search=" + v.Id + ">" + v.Name +
            "</a></td><td>" + v.Model + "</td><td>" + v.RegNumber + "</td><td>");
                });

            });
                        },
        error: function (data) {
            console.log('Error occured');
        }
    });
我看不出上面使用的两个类别有任何区别,所以您可以将其更改为

$(".mdl-data-table")

您可以在向表中添加新数据之前清除表

像这样的

function GetCarDetails(carId) {

    // clear table data 
    $(".mdl-data-table").empty();

    $.ajax({
        url: '@Url.Action("GetCarDetails", "Cars")',
        type: 'POST',
        data: { carId: carId },
        dataType: 'json',
        success: function (data) {

            $.each(data.data, function (key, value) {

                $.each(value, function (k, v) {
                    $(".mdl-data-table").append("<tr><td><a href=/Car/Detail?search=" + v.Id + ">" + v.Name +
            "</a></td><td>" + v.Model + "</td><td>" + v.RegNumber + "</td><td>");
                });

            });
                        },
        error: function (data) {
            console.log('Error occured');
        }
    });
我看不出上面使用的两个类别有任何区别,所以您可以将其更改为

$(".mdl-data-table")

可以使用empty()函数清除表


可以使用empty()函数清除表