2012-11-04 84 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

謝謝。我更新了腳本,但沒有保存。 –