2013-08-10 3 views
0

텍스트 상자의 값이 _OTHER 인 경우에만 .controls div를 볼 수있게하려고합니다.KnockoutJS에서 보이는 바인딩을 올바르게 사용하는 방법

<div class="controls" data-bind=" 
    visible: title == '_OTHER' 
">    
    @Generic.Selection <i data-bind="text: $index() + 1"></i> 
    <input type="text" id="inputAnswerContent" data-bind="value: title" /> 
    <a href="#" class="btn btn-small" data-bind=" 
     visible: $parent.requireOfferedAnswer, 
     click: $parent.addAnswer 
    "> 
     <i class="icon-plus"></i> 
    </a> 
</div> 

그러나, 그것은 _OTHER 이외의 모든 값을 볼 수있다 : 여기에 내가 사용하고 코드입니다.

+0

'$ parent.requireOfferedAnswer'의'$ parent.requireOfferedAnswer()'int 시도 –

+0

녹아웃 코드 스 니펫을 추가 하시겠습니까? 우리가 어떤 값을 관찰 할 수 있는지를 알 수있는 방법이 없습니다. – godfrzero

답변

0

'visible : title() =='_OTHER '(괄호)를 사용하려고합니다.

간단한 예 (jsfiddle) : 텍스트 상자에

HTML

<div class="controls" data-bind="visible: title() == '_OTHER'">    
hello world 
</div> 
<input type="text" data-bind="value : title"></input> 

JS

function ViewModel() { 
    this.title = ko.observable(); 
} 

var vm = new ViewModel(); 

ko.applyBindings(vm); 

유형 _OTHERhello world 표시 확인합니다.

+0

has error 메시지 : TypeError : string은 함수가 아닙니다. 바인딩 값 : visible : title() == '_OTHER' –

+1

@PhongDuong :'title '과 같은 사운드는 뷰 모델에서 관찰 가능하지 않습니까? 해야합니까?/게시 할 수 있습니까? –