2010-12-03 14 views
5

¿Alguien sabe cómo adjuntar el elemento de datos utilizado para representar una plantilla jQuery en el objeto dom resultante?Cómo adjuntar datos a jquery tmpl

dado este tmpl:

<script id="sectionTemplate" type="text/x-jquery-tmpl"> 
<div class="story-writer-section sticker ${CssClasses}"> 
    <div class="title"> 
    <div class="delete-button sticker-button"/> 
     ${SectionName} 
    </div> 
    <div class="story-writer-story-container"> 
    </div> 
</div> 

y esto:

$("#sectionTemplate") 
     .tmpl(sections) 
     .appendTo(".story-writer-section-container"); 

me gustaría unir cada sección para el resultado a través de una 'sección' .data (datos) para que pueda acceder a todos los datos más tarde porque no se muestran todos los datos, por ejemplo, id's, etc., que necesito obtener más tarde cuando hago cosas como eliminar.

Tal vez algo como esto ...

 $("#sectionTemplate") 
     .tmpl(sections) 
     .appendTo(".story-writer-section-container").each(function (????) { 
           this.data('section', ?????); 
          }); 

pero no tengo ni idea de cómo controlar la corriente elemento de datos que sirve para hacer esta tmpl.

Perhpas hay una forma de incluir esto en la plantilla misma?

Cualquier ayuda muy apreciada.

+0

Siempre podría agregar un campo oculto a la plantilla para contener datos como los ID, pero preferiría no tener que hacerlo si puedo agregar datos directamente al elemento, de esa manera puedo usar la vinculación de datos jQuery entre los datos y la interfaz de usuario. –

Respuesta

14

Ok, lo tengo resuelto. Parece que los datos ya se añade al elemento generada por .tmpl() y se puede acceder de esta manera:

$.tmplItem(this).data 

muy agradable, como de costumbre, jQuery no defrauda.

+0

gracias, esto me ayudó mucho! :) – Shawn

+0

muchas gracias :) tal vez quiera marcar su respuesta como aceptada? – hacksteak25

Cuestiones relacionadas