2014-09-29 75 views
0

在我的應用程序中,我試圖用if部分檢查2個條件。但不工作。我沒有得到的結果太..下劃線模板 - 如何檢查多個條件

這裏是我的病情,我用什麼:

<% _.each(recourseParameter, function (item, index) { %> 

      <% if (index % limit == 0) { %> 
       <%= _.template($('#header').html())({"parameterCode":parameterCode}) %> 
      <% } %> 

      <% if(item.description) { %> 
       <tr> 
        <td colspan=5><%= item.description %></td> 
       </tr> 
      <% } %> 

      <% if (((index+1) % limit == 0) && ((index +1) != limit)) { %> // this is not working! 
        <%= _.template($('#closer').html())() %> 
         <span>Continue ... </span> //this is not printing.. 
        </div> 
      <% } %> 

    <% }) %> 

Live Demo

+0

你介意檢查什麼是在控制檯日誌中的錯誤?我得到這個錯誤:無法加載資源:net :: ERR_TUNNEL_CONNECTION_FAILED https://dl.dropboxusercontent.com/u/6257603/recourseParameter.json 錯誤:錯誤,但它可能是網絡在這裏無法連接到保管箱。我會在家裏再試一次。在你身邊可以嗎? – Hatjhie 2014-09-29 05:50:22

+0

這對我來說工作得很好。可能是這個URL被禁止給你。如果你希望讓我給你基於靜態數據的例子? – 3gwebtrain 2014-09-29 06:16:18

+0

@Hatjhie - 這裏是放置在小提琴演示中的數據:http://jsfiddle.net/ffk5raqL/4/ – 3gwebtrain 2014-09-29 06:20:37

回答

1

的實際上是否工作正常。 if代碼試圖驗證的邏輯不正確。

讓我們來看看。

<% if (((index+1) % limit == 0) && ((index +1) != limit)) 

The possible value of index is 0 to 10 while the limit is always 9

現在滿足該要求(index+1) % limit == 0 索引必須是8,其他比%將不爲0,因爲只有(8+1) % 9 == 0.

現在,索引爲8。 第二條件if是(index+1) != limit其中(8 + 1)!= 9總是返回false。

因此,<% if (((index+1) % limit == 0) && ((index +1) != limit))永遠不會返回true。

綜上所述,如果功能正常使用,請修改相應的代碼的邏輯:

+0

你有什麼想法來修改這個邏輯。因爲這個模板對我來說是非常新的..我嘗試過一些後我得到了一個最好的想法.. – 3gwebtrain 2014-09-29 08:36:30

+0

這取決於你想要達到的目標。創建第三個的初衷是什麼? – Hatjhie 2014-09-29 09:44:47

+0

我正在分組中的數據,我定義了「極限」。當「limit」是3時,我需要打印3組,並且需要說'繼續'。當循環到達最後一組時,繼續變成全部完成。 用戶可以根據自己的要求定義「限制」。這就是我想用條件打印的東西。 – 3gwebtrain 2014-09-29 10:25:22