2014-01-19 2 views
0

내가 볼 수있는 모든 예는 페이지에 명시 적으로 작성된 DOM 요소에 대한 것입니다. 내 경우에는 내가 관찰 배열에 항목의 목록을 만들 녹아웃 foreach 문을 사용하고 있습니다 :id 값에 따라 knockout 배열 객체를 표시합니다.

나는 현재 ID를 잡고 (.show하는 숨겨진 요소에 onchange를 사용하여 미봉책 솔루션을 사용하고
<div class="tab-pane fade" id="recruiting"> 
    <input type="text" data-bind="value: selectedOrgKey" id="orgSectionId" onchange="FlipOrgView()" style="visibility: hidden;" /> 
    <ul class="list-unstyled" data-bind="foreach: orgs"> 
     <li data-bind="attr: { id: 'orgSection' + orgId}" class="orgSection"> 

) 그것.

window.OrgDdlUpdated = function() { 
    $(".orgSection").hide(); 
    var selectedOrgId = $('#orgDropDown').val(); 
    //alert(selectedOrgId); 
    flipOrgView(selectedOrgId); 
}; 

var flipOrgView = function (id) { 
    $('#orgSection' + id).show(); 
}; 

이 기술적으로, 처음 작동하지만, 나는 그것을 모두 넘겨로 선택한 ID는 이전 선택이 아닌 현재를 도시에 뒤쳐져. 내가 knockout 또는 다른 방법으로, 내가 제대로 노크 아웃 foreach 메서드를 사용하여 개체의 배열의 가시성을 토글 수있는이 다양한 방법을 알아?

답변

1

방법 : 당신이 selectedOrgKey을 설정하는하지만 난 당신이에 점점 생각 MVVM 행동을해야 할 방법 예

<div class="tab-pane fade" id="recruiting"> 
    <input type="text" data-bind="value: selectedOrgKey" id="orgSectionId" style="visibility: hidden;" /> 
    <ul class="list-unstyled" data-bind="foreach: orgs"> 
     <li data-bind="visible: $parent.selectedOrgKey() === orgId(), attr: { id: 'orgSection' + orgId}" class="orgSection"> 

메신저 너무 확실하지 않다.

+0

아, 감사합니다. 이 하나가 내 뇌를 죽였어. 또는 두뇌의 부족. – ledgeJumper

+1

@davidisawesome np 기꺼이 도와주세요 :) –

관련 문제