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 sort</th>
19 <th data-parse="float"></th>
20 <th data-parse="float">€</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>