为什么我的jquery代码不能在飞行中向html表添加行?

时间:2018-04-14 10:48:42

标签: javascript jquery html datatables

我已经编写了这段代码来动态添加行和列到我的html表,但事实并非如此。为什么呢?

$.each(response.lstTimeSlotsReturned, function (i, slots)
                {                        
                    $("#tbodytblAvailableAppointments").find('tbody').append($('<tr>').append($('<td>').html('Td')));
                }); 

完整代码:

$('form').submit(function (e) {
    e.preventDefault();
    if (!$(this).valid()) {
        return;
    }

    var url = '@Url.Action("ShowAvailableAppointments")';
    var data = $(this).serialize();

    $.post(url, data, function (response) {

        if (response.ReturnStatusJSON == true) {
            swal("Booked !", "Done", "success");

            $.each(response.lstTimeSlotsReturned, function (i, slots)
            {                        
                $("#tbodytblAvailableAppointments").find('tbody').append($('<tr>').append($('<td>').html('Td')));
            });                    
        }
        else {
            swal("Sorry !", "Failed", "error");                  
        }
    });
});

更新:HTML表格

 <div class="container">
        <div class="table-responsive">
            <table id="tblAvailableAppointments" class="table table-condensed">

                <thead>
                    <tr>
                        <th>S.No</th>
                        <th>Timings</th>
                        <th>Date</th>
                    </tr>
                </thead>
                <tbody id="tbodytblAvailableAppointments">

                </tbody>

            </table>
        </div>
    </div>

我尝试过很多其他策略,但都没有。这花了很多时间。

2 个答案:

答案 0 :(得分:2)

您的JS正在尝试在ID为class X { void a_method() { ... } } X x = ... Runnable runnable = x::a_method; 的元素下选择tbody。但这是#tbodytblAvailableAppointments本身的内容。只需删除tbody部分:

即可
find('tbody')

答案 1 :(得分:0)

$("#tbodytblAvailableAppointments").append($('<tr>').append($('<td>').html('Td')));

$("#tbodytblAvailableAppointments").find('tbody')已经是#tbodytblAvailableAppointments,因此您无法找到您正在寻找的人。