populate table from json
by Jeremy Bolanos
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.1/underscore-min.js"></script>
<table id="myCharts">
<thead>
<tr>
<th>Title</th>
<th>UserID</th>
</tr>
</thead>
<tbody />
</table>
CSS
table#myCharts {
border: 1px solid rgba(0, 0, 0, 0.2);
border-spacing: 0;
border-collapse: collapse;
font-size: 12px;
background-color: rgba(255, 255, 255, 1);
box-shadow: 2px 2px 4px rgba(70, 70, 70, 0.2);
-moz-box-shadow: 2px 2px 4px rgba(70, 70, 70, 0.2);
}
table#myCharts th {
border: 1px solid rgba(0, 0, 0, 0.2);
font: bold 13px Arial, sans-serif;
}
table#myCharts td {
border: 1px solid rgba(0, 0, 0, 0.2);
padding: 4px 8px;
min-width: 120px;
}
JavaScript
var allProfiles = {};
allProfiles = {
"charts": [
{
"profilename": "Another new Profile",
"userid": "c0bolje",
"shareid": 1
},
{
"profilename": "New Chart Test 1",
"userid": "c0bolje",
"shareid": 0
},
{
"profilename": "One Line Chart",
"userid": "c0bolje",
"shareid": 1
},
{
"profilename": "amit1",
"userid": "chauham",
"shareid": 1
},
{
"profilename": "default",
"userid": "c0accham",
"shareid": 1
},
{
"profilename": "default",
"userid": "bob",
"shareid": 1
}
]
};
allCharts = _(allProfiles.charts).sortBy(function (p) {
if(p.userid == "c0bolje") return "CapitalLettersComeBeforeLowercase";
return p.userid.toLowerCase();
});
var table = $('#myCharts tbody');
$.each(allCharts, function(i, v) {
var tr = document.createElement('tr');
var name = document.createElement('td');
var user = document.createElement('td');
name.appendChild(document.createTextNode(v.profilename));
user.appendChild(document.createTextNode(v.userid));
tr.appendChild(name);
tr.appendChild(user);
table.append(tr);
});