为什么克隆最后一个元素在jQuery中不起作用?

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

单击保存按钮后,我尝试克隆表的最后一行。但只是不会克隆并追加新行。

它应该做什么:单击保存->附加一个<tr class="spacer">和一个新的<tr class="tr-shadow">。屏幕截图:enter image description here

我的代码:

                                            ... <tr class="tr-shadow">
                                            <td><select name='weekday[]'>
                                                    <option value='0' selected hidden disabled>Auswählen</option>
                                                    <option value='1'>Montag</option>
                                                    <option value='2'>Dienstag</option>
                                                    <option value='3'>Mittwoch</option>
                                                    <option value='4'>Donnerstag</option>
                                                    <option value='5'>Freitag</option>
                                                    <option value='6'>Samstag</option>
                                                    <option value='7'>Sonntag</option></select></td>
                                            <td><input type="text" name="title[]" placeholder="Title"></td>
                                            <td><select name='rythm[]'>
                                                    <option value='1'>jede Woche</option>
                                                    <option value='2'>nur erster des Monats</option></select></td>
                                            <td><input type="time" name="time[]" placeholder="08:00" required></td>
                                        </tr><tr class="spacer"></tr>
                                    </tbody>

                                </table>
                                <br><input type="submit" id="date-submit" class="au-btn au-btn-icon au-btn--green au-btn--big" value="Save">

还有我的jQuery:

                             <script> 
$("#date-submit").click(function(){
    event.preventDefault();
    //$('#dates .tr-shadow').eq(-1).after('<tr class="spacer">');
    $("#dates .tr-shadow:last").clone().add("#dates .tr-spacer:last");

    request = $.ajax({
    url: "./termin-update.php",
    type: "post",
    data: $("#entrydates").serialize(),
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        snackbar('Error','error');
    },
    success: function (response) {
        snackbar('Successfully saved','success');
    }

    });
});
        </script>   
javascript php jquery forms
1个回答
0
投票

您正在创建一个克隆,但不存储对它的引用或将插入方法链接到它....换句话说,对克隆不执行任何操作

尝试类似的东西:

$('#myTable tbody')
    // append a new row clone
    .append($("#dates .tr-shadow:last").clone())
    // append another spacer after the clone
    .append('<tr class="spacer">')
© www.soinside.com 2019 - 2024. All rights reserved.