我正在使用此代码在我的表中添加一个新行:
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());
};
我遇到的问题是我无法删除新行(由newCreditRows
函数添加)。我尝试过几种不同的方式,例如:
this.creditRows.remove(CA);
但没有运气。我需要删除它,因为null值被插入到我的可观察数组中,并且当我通过记录循环时它会产生很大的问题。我确信我错过了一些非常小的东西,但作为一名初级开发人员,我无法修复它。
答案 0 :(得分:1)
如果您只想删除最后插入的此代码,请执行该作业。我将新创建的行存储在名为nova
的临时变量中。当您单击按钮remove
时,我将从阵列中删除nova行:
答案 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)
var vm = {
newCreditRows : function () {
this.creditRows.push(new CA());
},
remove : function(ca){
vm.creditRows.remove(ca);
},
creditRows : ko.observableArray()
};
我希望它有所帮助。