2012-03-08 4 views
0

J'ai une table qui a un bouton sur chaque TR qui se déclenche un dialogue jquery, et j'ai besoin pour remplir la boîte de dialogue avec les valeurs de TD de cette TR #idjsRender, les données doivent être en JSON?

Alors j'accompli ce par ce qui suit:

trid = $(this).parents('tr').attr("id"); 
$('#'+trid+' td').each(function() { 
     $("#bdcontent").append("<li>"+$(this).html()+"</li>"); 
    }); 

J'utilise jsrender sur plusieurs autres parties du même site, et ne savais pas comment vous pourriez ou devriez utiliser jsRender à cet égard

Je suppose que faire ce qui suit serait faire le travail, à condition que je connaissais la syntaxe passer au modèle:

mais je voulais voir s'il y avait un nettoyeur/meilleur moyen, si je ne devrais pas considérer jsrender templating pour ce type d'action, ou même si jsrender pourrait accepter des données qui n'étaient pas au format JSON, ou comment je pourrais construire un tableau de JSON à partir des valeurs de TD passent alors à jsrender

+0

essayez '{{html: #data}}', cela vous montrera tout le contenu brut qui a été passé. – balexandre

Répondre

1

quand vous voulez seulement passer le contenu, vous pouvez accéder au contenu avec le #data mot-clé spécial

mais pourquoi utilisez-vous jsRender pour cette tâche simple? si vous voulez seulement passer le contenu de votre <td> pourquoi ne pas

$("#bdcontent").append("<li>" + $(this) + "</td>"); 

si cela est juste un exemple et vous avez un modèle complexe, vous devez utiliser #data pour accéder à l'information brute qui a été adoptée dans votre modèle

<script id="billDialogTemplate" type="text/x-jquery-tmpl"> 
    <li>{{:#data}}</li> 
</script> 
Questions connexes