Pure.js table tr's Revision 326666313464 (Wed Jun 24 2009 at 01:03) - Diff Link to this snippet: https://friendpaste.com/1a9VFdl9cnWkTwCfivlJnp Embed: manni perldoc borland colorful default murphy trac fruity autumn bw emacs pastie friendly Show line numbers Wrap lines 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pure="http://beebole.com/pure"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <script type="text/javascript" src="../js/jquery.js"></script> <script type="text/javascript" src="../js/purePacked.js"></script> <script type="text/javascript"> var jsonContext = null; var directive = null; var renderPureJs = function() { jsonContext = { "noofRows":"10", "userprefList":[{ "userId":"1233", "defaultLanguage" :"09", "defaultLocale" :"01", "preferredName" :"Jon", }], "resultList":[{ "languages":[ {"name":"English","class":"EN", "value":01}, {"name":" French", "class":"FR", "value":02}, {"name":"Italian", "class":"IT", "value":03}, {"name":"Japanese", "class":"JPN", "value":04}, {"name":"Chinese", "class":"CH", "value":05}, {"name":"German", "class":"DE", "value":06} ], "locales":[ {"name":"India","class":"IN", "value":"01"}, {"name":"USA","class":"US", "value":"02"}, {"name":"England","class":"UK", "value":"03"}, {"name":"Germany","class":"DE", "value":"04"}, {"name":"Japan","class":"JP", "value":"05"} ], "preferredName" :[{"value":" John Chambers"}] }] }; window.console.log("1 "); /* directive = { 'tbody' : 'data<-resultList', 'tbody tr' : 'language<-data.languages', 'tbody tr td[class]' : function(obj){ var oddEven = (obj.pos % 2 == 0) ? 'left' : 'right'; console.log(" obj.pos : " + obj.pos + ", oddEven : " + oddEven); return oddEven; }, 'tbody tr td' : 'language.name', }; */ directive = { 'div.abc' : 'data<-resultList', 'div ul' : 'language<-data.languages', 'li input.lang[value]' : 'language.value', 'li span.langName' : 'language.name' }; renderPage(); } function renderPage(){ if(!$p.compiledFunctions['f6']){ console.log(" Compiled version not available"); $.ajax({ async: false, dataType: 'html', type: 'GET', url: 'extFile.html', //load external html file success: function(data, textStatus) { var menu = $(data).mapDirective(directive); $p.compile(menu, 'f6'); }, error: function(xhr, textStatus, err) { console.log(' err = '+err); } }); }else{ console.log(" Compiled version available"); } console.log (' $p.compiledFunctions f6 : ' + $p.compiledFunctions['f6'] ) $('div#userPrefForm').html( $p.render('f6', jsonContext) ) console.log (' jsonContext : ' + $('div#userPrefForm').html()); } </script> </head> <body> <input type="button" onclick="renderPureJs();" value="render" /> <hr /> <div class="userPrefForm" id="userPrefForm" > </div> <hr /> </body></html>------------------external file(extFile.html) -------------------- <!-- <table class="listTable" width=100% style='table-layout:fixed'> <tbody> <tr> <td class='left'> <nobr> <input class='email' type="checkbox" name="name[1]">language1 </nobr> </td> <td class='right'> <nobr> <input class='email' type="checkbox" name="name[2]">language2 </nobr> </td> </tr> </table>--> <div class='abc'> <ul> <li> <input class='lang' type='checkbox' /> <span class='langName'> <span> </li> <ul> </div>