javascript - 如何在表 : jquery 中追加列

标签 javascript jquery

总结:我有一个包含两个添加按钮和两个表格的模板。当用户单击添加按钮时,行应附加到相应的表中。示例:

    <div class="reports">
   <div class="panel">
    <table class="A">
     <thead>
      <td>A</td>
      <td>B</td>
      <td>C</td>
      <td>D</td>
      <td>E</td>
      <td>F</td>
     </thead>
     <tbody></tbody>
    </table>
   </div>
   <button class="add" type="button">Add</button>
  </div>

jquery 是

$('.reports').on('click','.add',function(){
    var path = $(this).parents('.reports').find(.A tbody);
    $(
            '<tr>'+
            '<td class="remove-row" role="button" aria-label="Remove Region"></td>'+
            '<td>'+value1+'</td>'+
            '<td><button>'+value2+'</button></td>'+
            '<td>'+value3+'</td>'+
            '<td>'+value4+'</td>'+
            '<td class="ordering" aria-label="Re-order"></td>'+
            '</tr>'
        ).appendTo(path);
});

我想追加前两列并对 value2 进行操作,然后追加 value3、value4、lastcolumn。 示例:

$('.reports').on('click','.add',function(){
        var path = $(this).parents('.reports').find('.A tbody');
        $('<tr>'+'<td class="remove-row" role="button" aria-label="Remove Region"></td>'+
        '<td>'+value1+'</td>').appendTo(path to first two columns);
        $('<td><button>'+value2+'</button></td>').appendTo(path to third column);
        $('<td>'+value3+'</td>'+'<td>'+value4+'</td>'+
         '<td class="ordering" aria-label="Re-order"></td>'+'</tr>').appendTo(path to last 3 columns);

    });

我在这里寻找逻辑。

最佳答案

我不确定你在做什么,但尝试在追加之前添加条件并将元素推送到 appendTo()。或者你可以使用 jQuery Chaining。

$('.reports').on('click','.add',function(){
    if (someInput = "Map"){
       var value2 += //do Something;
    }else{
       var value2 += someInput;
    }
    var path = $(this).parents('.reports').find(.A tbody);
    var newRow = $(
            '<tr>'+
            '<td class="remove-row" role="button" aria-label="Remove Region"></td>'+
            '<td>'+value1+'</td>'+
            '<td><button>'+value2+'</button></td>'+
            '<td>'+value3+'</td>'+
            '<td>'+value4+'</td>'+
            '<td class="ordering" aria-label="Re-order"></td>'+
            '</tr>'
        );
      newRow.appendTo(path)
      //You can do here whatever you want because the table is in DOM now          
});

关于javascript - 如何在表 : jquery 中追加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31520558/

相关文章:

javascript - ajax 调用在外部 js 文件中不起作用

javascript - 将非法 token 传递给 JavaScript 函数?

javascript - 如何将 SVG 代码包含到 Leaflet.js 中?

javascript - 如何在 jQuery 中识别选择器?

javascript - JQuery 淡出

javascript - 我使用的 Angular 工厂出现以下错误

jquery - 访问多文件上传表单的文件名

javascript - 消除 JS 搜索中的大小写敏感

jquery - onpopstate 事件不会在 Chrome/Safari 中触发

jquery - 出现错误 : "$(...).carousel is not a function" although I've included JQuery, Bootstrap.min.css 和 Bootstrap.min.js