2014-05-07 167 views
0

我正在將json數據作爲輸出並在淘汰賽中進行綁定。如何在for循環中獲得另一個for循環

JSON數據

{ 
"frequency": [ 
    { 
     "freqid": "2", 
     "freqname": "Monthly", 
     "date": [ 
      "1", 
      "7", 
      "10", 
      "14", 
      "20", 
      "21", 
      "28" 
     ], 

     "ny": "6.0", 
     "ty": "0" 
    }, 
    { 
     "freqid": "3", 
     "freqname": "Quarterly", 
     "date": [ 
      "1", 
      "7", 
      "10", 
      "14", 
      "20", 
      "21", 
      "28" 
     ], 

     "ny": "4.0", 
     "ty": "0" 
    } 
] 

}

這是有效的JSON和我使用的淘汰賽結合並顯示這樣的數據,我的HTML循環的頻率。

<div data-bind="foreach: FreqList"> 
       <input type="hidden" data-bind="attr: { id: 'hid_fr_' + freqid(), name: 'hid_freq_' + freqid() } " > 
</div> 

這裏工作正常。問題是我想有日期循環這是在頻率循環,並希望有數據由#分離像第一個循環值應該是。

<input id="hid_fr_2" name="hid_fr_2" value="1#7#10#14#20#21#28" /> 

如何使用敲除循環實現此目的。請告訴我。

回答

3

實現這一目標的最佳選擇是讓JavaScript函數爲您的輸入填充值屬性。即

<div data-bind="foreach: FreqList"> 
    <input type="hidden" data-bind="attr: { id: 'hid_fr_' + freqid(), name:'hid_freq_' + freqid(), value: createDateValue(date) }"> 
</div> 

然後在Javascript中,你需要沿着線的東西:

function createDateValue(dates) { 
    return dates.join("#"); 
} 

還要注意的是,在你的代碼「freqid()」將無法正常工作的值不是可觀察到的,它應該改爲'freqid'。

希望這有助於您指出正確的方向。