javascript - knockout JS : Delete multiple items using checkbox and one delete button

标签 javascript knockout.js sammy.js

我正在使用 knockout.js 和 sammy.js 开发单页应用程序。

我知道如何通过将带有 click 事件的按钮附加到每个项目来删除一个项目,如下所示:

self.deleteItem = function(item) {
    self.array.remove(item);
}

我想弄清楚如何使用复选框同时删除多个项目。

有人能指出我正确的方向吗?

谢谢!

最佳答案

您可以通过向虚拟机添加新数组来存储选定的行来实现此目的。使用 checked 绑定(bind)将其绑定(bind)到复选框:

function ViewModel() {
    var self = this;

    self.items = ko.observableArray(["One", "Two", "Three"]);
    self.selectedItems = ko.observableArray();

    self.deleteSelected = function () {
        self.items.removeAll(self.selectedItems());
        self.selectedItems.removeAll();
    }
}

ko.applyBindings(new ViewModel());

<div data-bind="foreach: items">
    <input type="checkbox" data-bind="value: $data, checked: $parent.selectedItems" />
    <span data-bind="text: $data"></span>
    <br/>
</div>
<input type="button" value="Remove Selected" data-bind="click: deleteSelected" />

这是一个例子:http://jsfiddle.net/zvFnW/

关于javascript - knockout JS : Delete multiple items using checkbox and one delete button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18183266/

相关文章:

javascript - 如何使用纯 JavaScript 在给定时间内增加或减少进度条宽度?

jquery - 为什么我的 jQuery 自动完成数据绑定(bind)不使用 Knockout JS?

knockout.js - 使用 KnockoutJS 时如何防止注入(inject)攻击?

javascript - 如何使用 Sammy.Template 检测和处理 404 错误?

javascript - 事件委托(delegate),Event.target 与 Event.currentTarget

javascript - 使用 Facebook Graph API Javascript 发布事件

javascript - html2canvas 覆盖 css(字体)

javascript - 从内部包含类对象的数组中删除特定项目

javascript - sammyjs 可选参数

javascript - 如何在单页应用程序中添加滑动页面过渡?