2012-06-21 18 views
5

Empecé a utilizar "Mustache JS" hace algunas horas. Me pregunto si hay una manera de agregar una clase en un tr para hacer la tabla rayada. Sé que puedo detectar si el valor de la variable es nulo o indefinido, pero este no es el caso. Siempre habrá un valor en la variable. ¿Hay alguna manera de hacer esto?Bigote JS Table Striping

me dieron el siguiente código en funcionamiento:

La plantilla:

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

La Vista:

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

Estoy consciente de que puedo establecer una función en la vista. Pero no sé cómo configurar correctamente un mod dentro de él, para la creación de bandas. Cualquier ayuda sería genial.

+3

CSS3 hace que sea más fácil si esa es una opción: http://www.w3.org/Style/Examples/007/evenodd.en.html – TheZ

+0

Lo sé. Pero esto es algo que tiene que funcionar en ie7. Sé que podría hacerlo fácilmente usando jquery $ ('tr: nth-child()'), pero estoy intentando un enfoque diferente esta vez;) – darksoulsong

Respuesta

4

he hecho esto así:

La plantilla:

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

The View: (algo como esto, suponiendo que usted puede establecer un valor para 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++; 

A continuación, agregue css para tr.odd y tr.even.

+0

Bueno. Le daré una oportunidad. – darksoulsong