在面向对象的编程中删除表行

时间:2013-11-02 17:42:33

标签: javascript oop

我开始在学校用JavaScript学习OOP,我必须在OOP做作业。它是一个购物清单,一个填写产品和价格,并放入一个数组,该数组的内容放在一个HTML表格中。该列表还有每个产品的删除按钮,我考虑过在JavaScript中使用this,因为我在OOP工作,但由于范围我很怀疑。

想法是在网页上点击“verwijder”(编辑:在相应的行中),表格行就消失了。我已经考虑过使用this,还要考虑从数组中删除选定的行后动态更新表。

谁可以告诉我该怎么做以及如何正确地做到这一点? 我在这里上传了我的JavaScript:http://jsfiddle.net/hNAZ9/

1 个答案:

答案 0 :(得分:0)

如果你想在javascript中学习oop(并允许你使用框架),我的建议是学习像http://knockoutjs.com/这样的框架。 view / html交互代码和js对象建模代码之间的分离将使您的生活更轻松。以下是使用knockout:http://jsfiddle.net/kaGzz/3/

重复实现小提琴的示例

我认为对象的作用要清楚得多:

var Item = function(product, price, parentArray){
    var self = this;
    self.product = ko.observable(product);
    self.price = ko.observable(price);    
    self.deleteItem = function(){
        parentArray.remove(self);
    }
}

var ShoppingList = function(){
    var self = this;
    self.currentProduct = ko.observable();
    self.currentPrice = ko.observable();
    self.items = ko.observableArray();
    self.addItem = function(){
        self.items.push(new Item(self.currentProduct(), self.currentPrice(), self.items));
    }        
}


var shoppingList = new ShoppingList();