jquery - 使用 jquery 将行添加到表中,并使用元素填充最后一个 tr

标签 jquery

我有一张这样的 table

HTML

<table id='tab_imput'>
    <tr>
        <td>
            <select id='eotp'>    
                <option>...</option>
            </select>
        </td>
        <td>
            <input id='cc'>
        </td>
        <td>
            <select id='dest'>    
                <option>...</option>
            </select>
        </td>
        <td>
            <input id='quot'>
        </td>
    </tr>
</table>

我想通过循环(输入)向表中添加行,并用数据填充每个元素,它对于第一行看起来不错,但对于下一行不起作用,任何帮助将不胜感激。谢谢

这是我的代码:

$.each(imput, function( index, value ) {
    eotp = $('#tab_imput tbody>tr:last').find($("select[id^='eotp']"));
    eotp.attr('value',imput[index].EOTP).attr('selected', 'selected');
    dest = $('#tab_imput tbody>tr:last').find($("select[id^='dest']"));
    dest.attr('value',imput[index].DESTINATION).attr('selected', 'selected');
    tr = eotp.closest("tr");
    $.post("ajax/ajax_imputation.php", {eotp_val: imput[index].EOTP}, function(response){
        tr.find("#cc").val(response);
    });
    $.post("ajax/ajax_imputation.php", {dest: 'ok', id_dest:imput[index].DESTINATION}, function(response){
        tr.find("#quot").val(imput[index].QUOTITE);
    });
    if(index > 1){
        $('#tab_imput tbody>tr:last').clone(true).insertAfter('#tab_imput tbody>tr:last');
    }
});

最佳答案

据我了解,您的算法如下所示:

  1. 获取表格的最后一行;
  2. 填写所有必要的数据;
  3. 复制最后一行以将其用于下一次迭代(前提是这不是第一次迭代)。

请记住,$.each 函数中的元素索引是从 0 开始的,而不是从 1 开始的。您的流程如下所示:

  1. 迭代 1(索引 0)- 填充第一行;
  2. 迭代 2(索引 1)- 再次填充第一行;
  3. 迭代3(索引2)-再次填充同一行,添加新行供以后使用;
  4. 迭代 4(索引 3)等等 - 最后它开始按预期工作。

这不是错误的根源吗?如果是这样,也许最好先克隆该行,然后再为除第一次迭代之外的每次迭代填充数据。

关于jquery - 使用 jquery 将行添加到表中,并使用元素填充最后一个 tr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34419972/

相关文章:

jquery - 将数组列表中的颜色添加到 li 然后循环返回

javascript - 鼠标悬停CSS Position绝对div在另一个TD上显示

javascript - 使用 jquery 获取 URL 的一部分

javascript - 自动对焦后触发Jquery函数

jquery - 服务器端模板、客户端模板 - 自动转换?

javascript - 带计时的 jQuery 鼠标悬停

jquery - 全宽 Bootstrap 下拉菜单

javascript - 使 slider 滚动页面

javascript - Jquery 每个等待模态关闭

javascript - 提交前jquery检查必填字段