jsRender, данные должны быть в JSON?

У меня есть таблица с кнопкой на каждом TR, которая запускает диалог jquery, и мне нужно заполнить диалог значениями TD этого TR #id

Итак, я выполнил это следующим образом:

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

Я использую jsrender в нескольких других частях одного и того же сайта и не знаю, как вы можете или должны использовать jsRender в этом отношении.

Я полагаю, что выполнение следующей работы позволит выполнить работу, если я знаю синтаксис для перехода к шаблону:

 <script id="billDialogTemplate" type="text/x-jquery-tmpl">
    <li>{{=???}}</li>
 </script>
 ...

$('#'+trid+' td').each(function() {
        $("#bdcontent").append( $("#billDialogTemplate").render( $(this) ));
    });

но хотел посмотреть, есть ли более чистый/лучший способ, если я не должен рассматривать шаблоны jsrender для этого типа действия, или даже если jsrender может принимать данные, которые не были в формате JSON, или как я мог построить массив json из Затем значения TD передаются в jsrender


person Jay Rizzi    schedule 08.03.2012    source источник
comment
попробуйте использовать {{html:#data}}, это покажет вам весь необработанный контент, который был передан.   -  person balexandre    schedule 14.05.2012


Ответы (1)


когда вы хотите только передать содержимое, вы можете получить доступ к содержимому с помощью специального ключевого слова #data

но почему вы используете jsRender для этой простой задачи? если вы хотите передать только содержимое вашего <td>, почему бы и нет

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

если это всего лишь пример и у вас сложный шаблон, вам нужно использовать #data для доступа к необработанной информации, которая была передана в ваш шаблон

<script id="billDialogTemplate" type="text/x-jquery-tmpl">
    <li>{{:#data}}</li>
</script>
person balexandre    schedule 14.05.2012