2012-06-21 8 views
5

Ho iniziato a utilizzare "Mustache JS" alcune ore fa. Mi chiedo se ci sia un modo per aggiungere una classe in un tr per rendere la tabella rigata. So che posso rilevare se il valore della variabile è nullo o indefinito, ma non è questo il caso. Ci sarà sempre un valore nella variabile. C'è un modo per fare questo?Baffatura JS per baffi

ho avuto il seguente codice installato e funzionante:

Il modello:

template = "\ 
     {{#tr}}\ 
      <tr>\ 
       <td>{{tit}}</td>\ 
       <td>{{ord}}</td>\ 
       <td>{{prazo}}</td>\ 
       <td>{{id}}</td>\ 
      </tr>\ 
     {{/tr}}"; 

The View:

view = { 
       "tr" : [ 
        { 
         id : val.ID, 
         ord : val.Ordem, 
         prazo : val.Prazo, 
         tit : val.Título 
        } 
       ] 
      }; 

Io consapevole del fatto che posso impostare un funzione nella vista. Ma non so come impostare correttamente una mod al suo interno, per lo striping. Qualsiasi aiuto sarebbe grande.

+3

CSS3 rende più semplice se questa è un'opzione: http://www.w3.org/Style/Examples/007/evenodd.en.html – TheZ

+0

Lo so. Ma questo è qualcosa su cui lavorare su ie7. So che potrei farlo facilmente usando jquery $ ('tr: nth-child()'), ma stavolta sto provando un approccio diverso;) – darksoulsong

risposta

4

ho fatto in questo modo:

Il modello:

template = "\ 
     {{#tr}}\ 
      <tr class="{{even_or_odd}}">\ 
       <td>{{tit}}</td>\ 
       <td>{{ord}}</td>\ 
       <td>{{prazo}}</td>\ 
       <td>{{id}}</td>\ 
      </tr>\ 
     {{/tr}}"; 

The View: (qualcosa di simile, supponendo che si può impostare un valore per iteratorValue)

var interatorValue == 0; 
// your other code 
view = { 
       "tr" : [ 
        { 
         id : val.ID, 
         ord : val.Ordem, 
         prazo : val.Prazo, 
         tit : val.Título, 
         even_or_odd: ((iteratorValue % 2 == 0) ? 'even' : 'odd') 
        } 
       ] 
      }; 
iteratorValue++; 

Quindi aggiungere css per tr.odd e tr.even.

+0

Bello. Darò un colpo. – darksoulsong