无法删除表格行

时间:2013-07-11 11:47:01

标签: jquery knockout.js

我正在使用此代码在我的表中添加一个新行:

 var CA = function() {
                            this.CAName = null;
                            this.CAAdress = null;
                            this.CAIdNum = null;
                            this.CAContact = null;
                            this.CAName = null;
                            this.CANote = null;
                            this.CAType = null;
                        };

                        newCreditRows = function () {
                            this.creditRows.push(new CA());
                        };

Full js fiddle here

我遇到的问题是我无法删除新行(由newCreditRows函数添加)。我尝试过几种不同的方式,例如: this.creditRows.remove(CA);  但没有运气。我需要删除它,因为null值被插入到我的可观察数组中,并且当我通过记录循环时它会产生很大的问题。我确信我错过了一些非常小的东西,但作为一名初级开发人员,我无法修复它。

3 个答案:

答案 0 :(得分:1)

如果您只想删除最后插入的此代码,请执行该作业。我将新创建的行存储在名为nova的临时变量中。当您单击按钮remove时,我将从阵列中删除nova行:

演示:http://jsfiddle.net/9cAMz/1/

答案 1 :(得分:1)

您可以向对象添加删除功能:

removeCreditRow : function (parent){
    parent.creditRows.remove(this);
}

并按如下方式使用:

    <td><a href="#" data-bind="click: $parent.removeCreditRow.bind($data, $parent)">Remove</a> </td>

这是工作小提琴:http://jsfiddle.net/9cAMz/2/

答案 2 :(得分:1)

查看this fiddle

var vm = {
    newCreditRows : function () {

        this.creditRows.push(new CA());
    },
    remove :  function(ca){
        vm.creditRows.remove(ca);
   },
    creditRows : ko.observableArray()
};

我希望它有所帮助。