2014-02-27 103 views
0

我是新来的淘汰赛,并对复选框绑定有点困惑。我有以下HTML: 淘汰赛js检查绑定

<input id="Category-2039842085241261997" type="checkbox" value="203984,208524,1261997" data-bind="checked:toggleActivation"> 
<label for="Category-2039842085241261997">Camis</label> 

<input id="Category-203984208524715507" type="checkbox" value="203984,208524,715507"> 
<label for="Category-203984208524715507" data-bind="checked:toggleActivation">Crop Tops</label> 

在jQuery中,为了得到复选框的ID,你会做:

$('#menu-right').on('click', 'input', function(e) { 
    console.log($(this).prop('id')); 
} 

我如何去在淘汰赛的时候得到这个我将选中的事件绑定到复选框,它实际上选择了所有选项而不是单击的选项。

jsFiddle

感谢

+0

你能证明你的淘汰赛代码? – Akhlesh

+0

我已经添加了一个jsFiddle来显示一个基本列表。它选择列表中的所有元素。我希望默认情况下取消选中它。点击复选框后,我想获得它的值/编号 – user2025749

回答

0

toggleActivation应该是observableArray。

var viewModel = { 
    toggleActivation: ko.observableArray([]) 
}; 

ko.applyBindings(viewModel); 

http://jsfiddle.net/96Jth/1/

+0

我可以从您的小提琴中看到您已添加 -

以获取要显示的值。点击复选框后,我将如何使用该值运行另一个函数,例如 –
                        
                            
    user2025749
                                
                            
                        
                    

+0

您可以订阅toggleActivation或计算可观察值。 – Akhlesh

+0

谢谢,最后一个问题。我现在有以下[jsFiddle](http://jsfiddle.net/speedster/96Jth/4/)我想获取已被单击的元素的ID我知道你可以通过使用event.target.id并将self.togggleActivation更改为self.toggleActivation = function(data,event){}如何使用ko.observableArray([])做什么? – user2025749

0

不使用knockout.js。它的一个简单的HTML和JAVASCRIPT函数.knockout有一个名为data-bind的属性,它绑定数据并为您检索数据。 这里是你理解的代码。 看看这个网站,首先得到有关knocout使用复选框的基本gyan。 http://knockoutjs.com/documentation/checked-binding.html 祝你好运。