在 jquery 中使用 .clone() 时如何停止克隆在 <Td> 元素内输入的文本

我请求创建一个表,当在一行的最后一列上按 TAB 时添加“动态”行。


最终我用 HTML 创建了一个结构


<table id="some_table">

<tr>

    <td>

        <input type="text" />

    </td>

    <td>

        <input type="text" />

    </td>

    <td>

        <input type="text" />

    </td>

</tr>

然后我在 JS 中使用了这个简单的代码


$('#some_table').on('keydown', 'input', function (e) {

    var keyCode = e.keyCode;

    if (keyCode !== 9) return;

    var $this = $(this),

        $lastTr = $('tr:last', $('#some_table')),

        $lastTd = $('td:last', $lastTr);

    if (($(e.target).closest('td')).is($lastTd)) {

        $lastTr.after($lastTr.clone());

    }

});

我已经添加了脚本源


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

它实际上做了什么,当您键入数据并在最后一个上按 TAB 时,clone() 正在克隆带有数据的最后一行,我想避免这种情况。我只想克隆新行的空列,事实上,创建具有相同结构但没有任何数据的新行。

怎样才能做到这一点呢?

我已经添加了jsfiddle链接


莫回无
浏览 87回答 1
1回答

子衿沉夜

我刚刚将其添加到您的代码中&nbsp;&nbsp;&nbsp;&nbsp;$('tr:last',&nbsp;$('#some_table')).find('td&nbsp;>&nbsp;input').each(function(index,&nbsp;value){ &nbsp;&nbsp;&nbsp;&nbsp;$(value).val('') &nbsp;&nbsp;})看看&nbsp;https://jsfiddle.net/ctxmb29q/这是你想要的吗?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript