2010年10月8日金曜日

jTemplatesを使ってみる

ajaxでの通信後、HTML表示が面倒だなーと思ってたら、↓を発見。
業界的には気づくの遅いか??

jTemplates

javascript内に書いたり、
HTMLコメントとして書いたり、
いろいろできるっぽいけど
テンプレートファイルに書き出すのがスマートっぽい。

テンプレートファイル


templateフォルダにsample.tplとか置いてみる。


  1. {#template MAIN}  
  2. <table id="dataTable" border="1">  
  3. <thead>  
  4.     <tr>  
  5.         <th>ID</th>  
  6.         <th>名前</th>  
  7.         <th>紹介</th>  
  8.     </tr>  
  9. </thead>  
  10. <tbody>  
  11. {#foreach $T as sample}  
  12.     <tr>  
  13.         <td>{$T.sample.id}</td>  
  14.         <td>{$T.sample.name}</td>  
  15.         <td>{$T.sample.article}</td>  
  16.     </tr>  
  17. {#/for}  
  18. </tbody>  
  19. </table>  
  20. {#/template MAIN}  



JavaScript


jqueryと一緒に読み込んで、$(document).readyで書いてみる。
ちなみにjqueryは1.4.2


  1. <script charset="utf-8" type="text/javascript" src="/javascripts/jquery-1.4.2.min.js"></script>  
  2. <script charset="utf-8" type="text/javascript" src="/javascripts/jquery-jtemplates.js"></script>  
  3. <script type="text/javascript">  
  4.         $(document).ready(function() {  
  5.   
  6.             var datas = new Array();  
  7.             var data1 = {id:1, name:"IS03",   article:"ワンセグ、お財布ケータイ機能を持ったauのandroid"};  
  8.             var data2 = {id:2, name:"iphone", article:"Apple社の大人気スマートフォン"};  
  9.             var data3 = {id:3, name:"Xperia", article:"sony ericsson(docomo)のandroid"};  
  10.             var data4 = {id:4, name:"garaxy", article:"Samsung社製(docomo)のandroid"};  
  11.   
  12.             datas.push(data1);  
  13.             datas.push(data2);  
  14.             datas.push(data3);  
  15.             datas.push(data4);  
  16.   
  17.                 $("#result").setTemplateURL("/templates/sample.tpl");  
  18.                 $("#result").processTemplate(datas);  
  19.   
  20.         });  
  21.     </script>  




なんとまあ便利なんだろうか!!

0 件のコメント:

コメントを投稿