javascript - 将前一行数据添加到动态生成的行中

标签 javascript jquery html

我有一张 table 。 onchange 选择变量,它会生成行。 我想要做的是,我在第一行中写入的数据应该复制到生成的行中。 这是我的表和 java 脚本。

<form>
    <table border = "1" id = "engagements">
        <tr>
            <th><input type="checkbox" onclick="checkAll(this)"></th>
            <th>Organization</th>
            <th>Project</th>
            <th>Product</th>
            <th>Activity</th>
        </tr>
        <tr>
            <td><input type="checkbox" onclick="checkAll(this)"></td>
            <td><input type = "text"/></td>
            <td><input type = "text"/></td>
            <td><input type = "text"/></td>
            <td><input type = "text"/></td>
            <!--
            <td><input type = "text"/></td>
            <td><input type = "text"/></td>
            <td><input type = "text"/></td>
            <td><input type = "text"/></td>
            <td><input type = "text"/></td>
            -->
        </tr>
    </table>

    <select name = "mode" id = "mode" onchange="addrow('engagements')">
        <option value="">Add More Rows with Same Data as Above</option>
        <option value="1">1 More</option>
        <option value="2">2 More</option>
        <option value="3">3 More</option>
        <option value="4">4 More</option>
        <option value="5">5 More</option>
     </select>

</form>


<script language="javascript">
    function addrow(tableID)
    {
        var table = document.getElementById(tableID);
        var rowCount = table.rows.length;
        var row = table.insertRow(rowCount);
        var colCount = table.rows[0].cells.length;
        var e = document.getElementById("mode");
        var strUser = e.options[e.selectedIndex].value;

        for (var j = 0; j < strUser; j++)
        {
            for (var i = 0; i < colCount; i++)
            {
                var newcell = row.insertCell(i);
                newcell.innerHTML = table.rows[1].cells[i].innerHTML;
            }
            var row = table.insertRow(rowCount);
        }
    }
</script>

最佳答案

如果你已经在使用 jQuery,你可以这样做 -

$("#mode").on('change', function () {
    var rows = parseInt(this.value);
    var lastRow;
    for (var i = 0; i < rows; i++) {
        lastRow = $('#engagements tr').last().clone();
        $('#engagements tr').last().after(lastRow);
    }
});

演示 ----> http://jsfiddle.net/jW6eL/

关于javascript - 将前一行数据添加到动态生成的行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17234723/

相关文章:

javascript - Android 上的 MonkeyTalk 和 WebChromeClient/onJsScript 冲突

javascript - 无法让 jQuery 代码在 Wordpress 中工作,即使尝试 noConflict

javascript - jquery 更改事件未触发

javascript - 风格 react 路由器事件链接

javascript - 如何转换基于 Msxml2.XMLHTTP 的仅 IE 网站,使其也适用于 Firefox?

jquery - 使用 jQuery 将类添加到 iframe 中的元素

javascript - Jquery,停止排队函数并重置为原始函数

html - 使用 bootstrap 3 获得悬停效果

jquery - 滚动到下一个/上一个 div 不适用于手动滚动

javascript - 无法发出第二条警报消息