2012-08-24 29 views
3

有人能幫我弄清楚爲什麼我的可摺疊面板不能展開?我的jQuery手機的HTML標記似乎正在工作。數據通過foreach循環綁定到可摺疊設置,但面板不會展開。jQuery Mobile可摺疊面板和KNockjs可觀察陣列

HTML:

<div data-role="collapsible-set" class="ui-block-a" data-bind="foreach: opportunityData"> 
    <div data-collapsed="true" data-role="collapsible" > 
     <h3> 
      <span data-bind="text: name" /> 
     </h3> 
     <p data-bind="text: company" /> 
    </div> 
</div> 

JS:

function OpportunityViewModel() { 

     var self = this; 
     self.opportunityData = ko.observable([]); 

     $.ajax({ 
      url: 'url....', 
      type: 'GET', 
      async: true, 
      cache: false, 
      crossDomain: true, 
      dataType: 'jsonp', 
      success: function (data) { 
       self.opportunityData(data) 
      }, 
      error: function (jqXHR, textStatus, ex) { 
       alert(textStatus + "," + ex + "," + jqXHR.responseText); 
      } 
      }); //end ajax call 
     }; //end viewmodel  

     ko.applyBindings(new OpportunityViewModel());   
    }); 
+0

你應該創建一個問題的例子,JSFiddle是這是一個很好的地方。 – Jasper

+0

我甚至嘗試過在jsfiddle上使用simper版本。有人可以回答,jQuery Mobile是否與knockout一起工作?我花了2天的時間努力獲得應該簡單的工作。 – user1623100

+0

這裏是jsfiddle:http://jsfiddle.net/Lw5nQ/25/ – user1623100

回答

2

我只是找到了解決辦法,只需要創建一個新出側的div然後把的foreach在該分區:

<div data-bind="foreach: opportunityData"> 
    <div data-role="collapsible-set" class="ui-block-a" > 
     <div data-collapsed="true" data-role="collapsible" > 
      <h3> 
       <span data-bind="text: name" /> 
      </h3> 
      <p data-bind="text: company" /> 
     </div> 
    </div> 
</div>