2011-05-07 19 views
5

şablon DOM elemanlarına veri ilişkilendirme Buna benzer:jQuery şablonu - Birkaç satır öğeleri render eklentisi jQuery'nin şablonunu kullanıyorum

var clientData = [ 
    { name: "Rey Bango", id: 1 },  
    { name: "Mark Goldberg", id: 2 },  
    { name: "Jen Statford", id: 3 } ]; 

<script id="clientTemplate" type="text/html">  
    <li><${name}</li> 
</script> 

$("#clientTemplate").tmpl(clientData).appendTo("ul"); 

o jQuery's data fonksiyonunun kullanımı muktedir yapmak mümkün olup olmadığını merak ediyorum Her satır öğesini, güncellemek için bir tanımlayıcıyla ilişkilendirin.

Normalde böyle bir şey yapabileceğini:

$.each(clientData, function(idx, item) { 
    $('<li></li>').appendTo('ul#clientTemplate') 
     .text(item.name) 
     .data('clientId', item.id); 
}); 

$('ul#clientTemplate li').click(function() { 
    updateClient($(this).data('clientId')); 
}); 

Eğer templating zaman kontrolün bu tip yok Ancak.

Not: Doğrusu ben yoksa elemanları bu her satırda veri veya ek özellikleri saklamak için yeni gizli unsurları kullanmak istemem.

Fikirler? Bu yardımcı olur

$("#clientTemplate").tmpl(clientData).filter("li").each(function(i){ 
    $(this).data(clientData[i].id); 
}).appendTo("ul"); 

Umut:

Teşekkür

cevap

1

jQuery Templates eklentisi, şablon tarafından oluşturulan herhangi bir öğe ile ilişkili gerçek verilere geri dönmenizi sağlayan tmplItem işlevini içerir. Burada

{ name: "Rey Bango", id: 1 } 

Örnek:: Veri olurdu Bu durumda client yılında

var client = $("li").first().tmplItem().data 

:

Yani, böyle bir şey yapmak mümkün olacaktır http://jsfiddle.net/rniemeyer/fvhj4/

+0

sayesinde bu ne olduğu İçin bakıyordum. – cweston

1

Bu geçici bir çözüm olabilir. Alkışlar

İlgili konular