0

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

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

到目前为止,我已经成功——

  1. 绑定复选框列表
  2. 捕获所做的选择并将它们绑定在一个无序列表中。
  3. 用户做出 3 次选择后禁用复选框。

复选框的启用/禁用是使用此位完成的 -

self.canVote = ko.computed(function() {
    return self.selectedTopics().length < 3 ;}, self);

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

有没有一种简单的方法可以实现这一目标?

4

1 回答 1

1

没错,换

enable: $root.user().canVote

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

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

于 2013-03-16T10:38:43.810 回答