Twitter bootstrap 带Knockoutjs的Twitter引导-单选按钮值

Twitter bootstrap 带Knockoutjs的Twitter引导-单选按钮值,twitter-bootstrap,knockout.js,jquery,Twitter Bootstrap,Knockout.js,Jquery,我有一个ASP.NETMVC4网站,它使用twitter引导和Knockoutjs。其中一个要求是在用户在某些选项之间切换时刷新视图模型。为此,我设置了以下单选按钮 <div id = "myradio" class="btn-group" data-toggle="buttons-radio"> <button value="1" type="button" class="btn btn-primary active" data-bind="click: refresh"

我有一个ASP.NETMVC4网站,它使用twitter引导和Knockoutjs。其中一个要求是在用户在某些选项之间切换时刷新视图模型。为此,我设置了以下单选按钮

<div id = "myradio" class="btn-group" data-toggle="buttons-radio">
  <button value="1" type="button" class="btn btn-primary active" data-bind="click: refresh">1</button>
  <button value="2" type="button" class="btn btn-primary" data-bind="click: refresh">2</button>
  <button value="3" type="button" class="btn btn-primary" data-bind="click: refresh">3</button>
</div>​
我遇到的问题是,单击事件触发得太快,给我的是单选按钮的上一个值,而不是当前值。为了演示这个问题,我设置了一个JSFIDLE


我有没有办法得到当前值?knockoutjs是否允许将事件传递到“refresh”函数中?只要我能在运行刷新功能时检测到选择了哪个单选选项,我愿意接受任何想法。

Knockout将
事件
对象作为第二个参数(第一个参数是“当前数据”)传递给
click
处理程序函数(您可以在

因此,以下代码将产生预期结果:

self.refresh = function(data, element){
    alert($(element.currentTarget).val());
};

A正在工作。

谢谢!我在尝试函数(事件)时被卡住了,无法使其工作。我不知道这是第二个参数。
self.refresh = function(data, element){
    alert($(element.currentTarget).val());
};