knockoutjs - 有条件地启用checkboxlist

时间:2013-03-16 10:28:44

标签: binding knockout.js

我正在尝试构建一个能够捕获用户选择的简单表单。用户可以选择的数量有限制。

这是我到目前为止做过的事 - http://jsfiddle.net/steam/7RSdf/13/

到目前为止,我已成功 -

  1. 绑定复选框列表
  2. 捕获所做的选择并将它们绑定在无序列表中。
  3. 一旦用户做出3个选择,请禁用复选框。
  4. 使用此位 -

    启用/禁用复选框
    self.canVote = ko.computed(function() {
        return self.selectedTopics().length < 3 ;}, self);
    

    我的问题 - 我希望我的用户能够恢复/更改他/她的选择。这意味着,在仅有3个选项 后,需要禁用未选中的复选框 。用户仍然可以从他/她做出的选择列表中取消选中。

    有没有一种简单的方法可以达到这个目的?

1 个答案:

答案 0 :(得分:1)

当然,改变

enable: $root.user().canVote

enable: $element.checked || $root.user().canVote

http://jsfiddle.net/7RSdf/14/