Javascript 使用 foreach 函数添加新行

标签 javascript jquery dynamic foreach html-table

示例: http://jsfiddle.net/k7jwLvt1/

$(function(){
    var tbl = $("#table");

    $("#addRowBtn").click(function(){
        $("<tr><td>Lorem Ipsum</td><td>Lorem Ipsum</td><td>Lorem Ipsum</td><td>Lorem Ipsum</td><td><input type='checkbox' class='setbox'></td><td><button class='delRowBtn'>Delete</button></td></tr>").appendTo(tbl);        
    });

    $(document.body).delegate(".delRowBtn", "click", function(){
        $(this).closest("tr").remove();        
    });    

});

我当前正在向末尾有复选框的表添加新行。同时,我有一个 foreach 循环来检查这些复选框以执行 AJAX 脚本,但这对于此事来说是微不足道的。

如果我默认填充一行(无需单击“添加行”按钮),我的 foreach 循环效果很好。但是,它不适用于随后添加的新行。如何让 foreach 循环在页面加载后检测新添加的行?

我尝试将 foreach 循环封装为一个函数,并在每次单击“添加行”按钮时重新执行它,但这似乎将 AJAX 脚本添加到队列中。

    function setbox() {
         $(\".setBox\").each(function() {
                var isChecked = this.checked;

                $('.setBox').click(function()    {
                    $.ajax(blahblahblah});
                }
            });
      }
   }

有什么建议吗?

最佳答案

我认为这可能对您有帮助,并且您不需要使用函数 setbox()。你可以试试这个代码。

  $('body').on('click', '.setbox',function()   {
    var isChecked = this.checked;
    alert(isChecked);
    //$.ajax(blahblahblah});
 });

关于Javascript 使用 foreach 函数添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31392522/

相关文章:

c - 如何存储 recv() 的输出?

c - 访问函数内部创建的数据结构?

javascript - 如何使用 Underscore.js 从平面列表创建嵌套对象?

javascript - 使用 jQuery UI slider 时更新输入值

JavaScript,如何在工具提示中显示 'current' 数据而不进行轮询?

jquery - z-index:20 出现在 z-index:10 下面,即使它的 z 索引更大

javascript - 使用 Javascript 获取 URL Vars,当 QueryString 中存在多个值时不起作用

javascript - 边框半径和 Javascript

javascript - Nodejs 文件中函数的上下文是什么?

javascript - TinyMCE 内容/HTML 过滤