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 に答える