2013-03-21 50 views
0

我試圖複製圖像元素(表示正確/錯誤答案)由可觀察到的,而不是由陣列。這可以做到嗎? (見標誌着XXXXXXXXX位置)。 answerCorrect和answerfailed在其他地方進行更新。創建由可變元件的數目 - 不是由陣列

JS:

var singlePhase=function (phaseNo,questionsTotal) 
{ 
    var self=this; 
    self.phaseNo=phaseNo; 
    self.answersTotal=questionsTotal; 
    self.answerCorrect=ko.observable(0); 
    self.answerfailed=ko.observable(0); 
} 

var QuestionViewModel = function() { 
    var self = this; 
    var tmpArrPhases = new Array(); 
    tmpArrPhases.push(new singlePhase(1,2)); 
    tmpArrPhases.push(new singlePhase(2,2)); 
    tmpArrPhases.push(new singlePhase(3,3)); 
    self.allPhases(tmpArrPhases); 
} 

在HTML我想做的事:

 <div data-bind="foreach: allPhases"> 
      <div class="progress_bar_bottom_mustry" data-bind="foreach:XXXXXXXXX"> 
       <img src="images/correct.png" data-bind="visible:true"> 
       <img src="images/wrong.png" data-bind="visible:true"> 
      </div> 
     </div> 

謝謝!

回答

1

你可以在裏面foreach創建一個空數組綁定:

<div data-bind="foreach: allPhases"> 
    <div class="progress_bar_bottom_mustry" data-bind="foreach:new Array(YourObservalbe())"> 
     <img src="images/correct.png" data-bind="visible:true"> 
     <img src="images/wrong.png" data-bind="visible:true"> 
    </div> 
</div> 

下面是一個例子: http://jsfiddle.net/7UDfM/

+0

的偉大工程。謝謝 – Guy 2013-03-21 14:31:50