0

data_bind = "checked" バインディングのラジオボタンがあります。ラジオボタンの1つがチェックされたときにUIをカスタマイズするには、カスタム関数を呼び出す必要があります。HTML

毎日 毎週 毎月
<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 どうすればノックアウトできますか?

4

2 に答える 2

1

これがあなたの問題かどうかはわかりませんが、リンクされたノックアウト ライブラリが見つからないため、提供された jsFiddle の例は機能しません。これはノックアウトjsのCDNリンクです。ここでフィドルを更新しました

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

値に応じて JavaScript 関数を実行するには、ここに記載されているように ko.observable をサブスクライブします。

于 2012-11-04T15:30:01.693 に答える
1

これを行う最も簡単な方法は、で手動サブスクリプションを作成することFrequencyTypeです。

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

this.FrequencyType.subscribe(function(newValue) {
    if (newValue == 3) {
        alert('3 is clicked');
    }
});
于 2012-11-04T15:26:41.690 に答える