gpt4 book ai didi

javascript - 删除 Knockout.js 中动态创建的行

转载 作者:行者123 更新时间:2023-11-28 19:53:10 25 4
gpt4 key购买 nike

我正在使用knockout.js 2.3.0,并且我有一个表,其中动态添加行并在每行中选择列表。更改日期输入后,选择列表将填充不同的内容。由于不同的日期会使用不同的内容填充列表,因此我想删除以前添加的所有行,因为内容可能不准确。

我遇到的问题是并非所有行都被删除。例如:如果我有超过 4 行,则始终会剩余 2 行。唯一一次清除所有行是当只有 1 行开始时。

这是删除行的订阅函数

 self.date.subscribe(function() {

//I also tried setting the loop length to a very long number but the same results happened each time
for (i = 0; i < self.customers().length; i++){
self.customers.remove(self.customers()[i]);
}

//now populate the select list and add an empty row - commented out for testing to make sure rows are being deleted
//setCustomerList(self.date());
//self.customers.push(new AddCustomer(self.customerList[0]));
});

我只是测试看看会发生什么,而我删除所有行的唯一方法是添加多个 for 循环,这显然是不可取的。

是否有更简单的方法来删除所有动态添加的行?

最佳答案

如果要删除可观察数组中的所有项目,请使用 removeAll 方法:

self.customers.removeAll();

如果您确实想使用循环,可以通过连续删除最后一个(或第一个)项目直到没有剩余来实现:

while (self.customers().length) {
self.customers.pop();
}

关于javascript - 删除 Knockout.js 中动态创建的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com