example-ajax.html - jscancer - Javascript crap (relatively small)
 (HTM) git clone git://git.codemadness.org/jscancer
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       example-ajax.html (2534B)
       ---
            1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
            2 <html>
            3 <head>
            4         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            5         <title>jsdatatable AJAX</title>
            6         <link rel="stylesheet" type="text/css" href="datatable.css" />
            7 </head>
            8 <body>
            9 
           10 <input type="search" class="filter-text" value="" placeholder="Filter..." autofocus="autofocus" /><br/>
           11 <br/>
           12 
           13 <!--<table id="datatable" class="datatable" style="display: none" data-lazyscroll="1" cellpadding="0" cellspacing="0" border="0">-->
           14 <table id="datatable" class="datatable" cellpadding="0" cellspacing="0" border="0">
           15 <thead>
           16 <tr>
           17         <th data-parse="int">#</th>
           18         <th class="sort-disabled" data-sortable="false" data-parse="int">Disabled&nbsp;sort</th>
           19         <th data-parse="float"></th>
           20         <th data-parse="float">&euro;</th>
           21         <th data-parse="int" data-filterable="false">numbers (disabled filter)</th>
           22         <th>Description</th>
           23         <th data-parse="int">yyyy-mm-dd</th>
           24 </tr>
           25 </thead>
           26 <tbody>
           27 </tbody>
           28 </table>
           29 
           30 <script type="text/javascript" src="datatable.js"></script>
           31 <script type="text/javascript">
           32 
           33 function datatable_load_data(d, data) {
           34         // NOTE: assumes each tr has only "<td>" childnodes.
           35         for (var i = 0; i < data.length; i++) {
           36                 var values = [], fv = [];
           37                 var tr = document.createElement("tr");
           38                 for (var j = 0; j < data[i].length; j++) {
           39                         var td = document.createElement("td"), v, vd, vs;
           40                         // array with [ actual value case-insensitive, "displaystring" ].
           41                         if (data[i][j].constructor === Array) {
           42                                 v = data[i][j][0];
           43                                 vd = data[i][j][1];
           44                                 vs = String(v);
           45                                 td.setAttribute("data-value", vs);
           46                                 fv.push([ vs.toLowerCase(), vd.toLowerCase() ]);
           47                         } else {
           48                                 v = data[i][j];
           49                                 vd = String(v);
           50                                 fv.push([ vd.toLowerCase() ]);
           51                         }
           52                         td.textContent = vd;
           53                         tr.appendChild(td);
           54                         values.push(d.cols[j].parsefn(v));
           55                 }
           56                 d.data_raw.push({
           57                         filtervalues: fv,
           58                         tr:           tr,
           59                         values:       values
           60                 });
           61         }
           62         return d.data = d.data_raw;
           63 }
           64 
           65 var ds = datatable_autoload();
           66 
           67 var x = new(XMLHttpRequest);
           68 x.onreadystatechange = function () {
           69         if (x.readyState != 4 || [ 0, 200 ].indexOf(x.status) == -1)
           70                 return;
           71         var rdata = null;
           72         try {
           73                 rdata = JSON.parse(x.responseText);
           74         } catch(e) {
           75                 return;
           76         }
           77         var d = ds[0];
           78         d.display(datatable_load_data(d, rdata.data));
           79 
           80 };
           81 x.open("GET", "example-ajax-data.json?t=" + String((new(Date)).getTime()), true);
           82 x.setRequestHeader("X-Requested-With", "XMLHttpRequest");
           83 x.timeout = 30000;
           84 try {
           85         x.send();
           86 } catch(e) {
           87 }
           88 </script>
           89 
           90 </body>
           91 </html>