2014-01-19 23 views
0

我看到的所有示例都是針對顯式寫入頁面的DOM元素。在我來說,我使用的基因敲除的foreach在我觀察到的陣列創建的項目清單:根據id值使敲除數組對象可見

<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"> 

我現在使用的一個缺憾解決方案通過使用隱藏的元素上的onchange搶ID和.show( )它。

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

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

這種技術上的工作,在第一時間,但我通過這一切翻轉,所選擇的ID落後於它顯示了先前的選擇,而不是當前的一個。我知道有很多種方法可以實現這一點,所以淘汰賽或其他方式,我如何正確使用淘汰賽foreach方法切換對象數組的可見性?

回答

1

怎麼樣:

<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"> 

我不是太肯定你的榜樣,你是如何設置selectedOrgKey但這應該做MVVM行爲我想你越來越。

+0

啊,謝謝。這一個正在殺死我的大腦。或缺乏大腦。 – ledgeJumper

+1

@davidisawesome np高興地幫助:) –

相關問題