2012-06-21 9 views
5

"Mustache JS" yi birkaç saat önce kullanmaya başladım. Tabloyu çizgili hale getirmek için bir tr dersi eklemek için bir yol olup olmadığını merak ediyorum. Değişkenin değerinin null veya undefined olup olmadığını algılayabileceğimi biliyorum, ancak durum böyle değil. Değişkende daima bir değer olacaktır. Bunu yapmanın bir yolu var mı? Bıyık JS Sofra Çizgisi

aşağıdaki kod yukarı ve çalışan var:

şablonu:

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

Görünüm:

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

Özür farkında Ben ayarlayabileceğini bir görünümde işlev. Ama striptiz için bir modun nasıl düzgün bir şekilde ayarlanacağını bilemezsiniz. Herhangi bir yardım harika olurdu.

+3

Bu seçenek bir seçenek olup olmadığını CSS3 kolaylaştırır: http://www.w3.org/Style/Examples/007/evenodd.en.html – TheZ

+0

Bunu biliyorum. Ama bu, ie7 üzerinde çalışmak zorunda olan bir şey. Bunu jquery $ ('tr: nth-child()') kullanarak kolayca yapabileceğimi biliyorum, ancak bu sefer farklı bir yaklaşım deniyorum;) – darksoulsong

cevap

4

böyle yapmış:

şablonu:

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

Görünüm: (Böyle bir şey, sen iteratorValue için bir değer ayarlayabilirsiniz varsayarak)

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++; 

Sonra tr.odd ve tr.even için css'yi ekleyin.

+0

Nice one. Bir şans vereceğim. – darksoulsong