2012-11-04 47 views
0

我有带有data_bind =“checked”绑定的单选按钮。我需要调用自定义函数来定制用户界面时,其中一个单选按钮检查。 的Html我怎样才能在data_bind =“checked”绑定中运行javascript函数

每日 每周 每月
<div data-bind="visible: FrequencyType() == 1"> 
    Message 1 
</div> 
<div data-bind="visible: FrequencyType() == 2"> 
    Message 2 
</div> 
<div data-bind="visible: FrequencyType() == 3"> 
    //Before show html here I want to call js function 
</div> 

JS

function AppViewModel() { 
    this.FrequencyType = ko.observable("0");  
} 

$(document).ready(function() { 
    viewModel = new AppViewModel(); 

    // Activates knockout.js 
    ko.applyBindings(viewModel); 
}); 

jsfiddler 如何与淘汰赛做呢?

+0

这是不是真的清楚你想打电话什么js功能,以及什么时候?当'FrequencyType()== 3'或'visible'绑定之前被触发? – nemesv

+0

组件将可见后 –

回答

1

最简单的方法是在FrequencyType上创建手动订阅。

http://jsfiddle.net/jearles/TuBzb/1/

this.FrequencyType.subscribe(function(newValue) { 
    if (newValue == 3) { 
     alert('3 is clicked'); 
    } 
}); 
1

我不知道,如果这是你的问题,但您所提供的的jsfiddle例如不工作,因为联淘汰赛库无法找到。这里是一个CDN链接,knockoutjs和我更新了小提琴here

http://cdnjs.cloudflare.com/ajax/libs/knockout/1.2.1/knockout-min.js 

为了运行取决于值的JavaScript函数订阅ko.observable作为记录​​

+0

谢谢。我更新了脚本,但没有保存。 –