2012-11-04 4 views
0

data_bind = "checked"바인딩이있는 radiobuttons가 있습니다. 라디오 버튼 중 하나가 선택 될 때 사용자 정의 함수를 호출하여 UI를 사용자 정의해야합니다. 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

설명 된대로 ko.observable에 가입하는 것입니다 바이올린 업데이트 어떤 js 함수를 호출하고 싶습니까? 정확히 언제입니까? 'FrequencyType() == 3'또는 'visible'바인딩이 트리거되기 전에? – nemesv

+0

구성 요소가 표시된 후 –

답변

1

가장 쉬운 방법은 FrequencyType에 수동 구독을 만드는 것입니다. 이 문제이지만 링크 된 녹아웃 라이브러리를 찾을 수 없기 때문에 사용자가 제공 한 jsFiddle 예제가 작동하지 않을 경우

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

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

는 잘 모르겠어요. 여기 knockoutjs위한 CDN 링크는 내가 값에 따라 자바 스크립트 함수를 실행하기 위해 here

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

이 정말 명확하지 않다 here

+0

감사합니다. 스크립트를 업데이트했지만 저장하지 못했습니다. –

관련 문제