"No more tables (responsive table) class"
Bootstrap 3.1.0 Snippet by mattcoad

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
<div class="container">
<div class="row">
<div class="col-md-12">
<h1 class="text-center">
No more tables.
</h1>
<h3 class="text-center">
Resize the browser screen to see how the table changes
</h3>
</div>
<div class="no-more-tables">
<table class="col-md-12 table-bordered table-striped table-condensed">
<thead class="cf">
<tr>
<th>Code</th>
<th>Company</th>
<th class="numeric">Price</th>
<th class="numeric">Change</th>
<th class="numeric">Change %</th>
<th class="numeric">Open</th>
<th class="numeric">High</th>
<th class="numeric">Low</th>
<th class="numeric">Volume</th>
</tr>
</thead>
<tbody>
<tr>
<td data-title="Code" data-type="text">AAC</td>
<td data-title="Company" data-type="text">AUSTRALIAN AGRICULTURAL COMPANY LIMITED.</td>
<td data-title="Price" class="numeric" data-type="money">$1.38</td>
<td data-title="Change" class="numeric">-0.01</td>
<td data-title="Change %" class="numeric">-0.36%</td>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@media only screen and (max-width: 750px) {
/* Force table to not be like tables anymore */
.no-more-tables table,
.no-more-tables thead,
.no-more-tables tbody,
.no-more-tables th,
.no-more-tables td,
.no-more-tables tr {
display: block;
}
/* Hide table headers (but not display: none;, for accessibility) */
.no-more-tables thead tr {
position: absolute;
top: -9999px;
left: -9999px;
}
.no-more-tables tr { border: 1px solid #ccc; }
.no-more-tables td {
/* Behave like a "row" */
border: none;
border-bottom: 1px solid #eee;
position: relative;
padding-left: 50% !important;
white-space: normal;
text-align:left;
}
.no-more-tables td:before {
/* Now like a table header */
position: absolute;
/* Top/left values mimic padding */
top: 6px;
left: 6px;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$(document).ready(function() {
$(document).on('click', '.no-more-tables td', function(e) {
var caller = $(this);
var thisVal = $(this).text();
var $input = $('<input/>', {
type: 'text',
class: 'form-control input-sm',
value: thisVal
});
if ($(caller).children().length == 0) {
$(caller).html($input);
}
console.log($(this).attr('data-type'));
$(document).find('.no-more-tables tbody > tr > td').not(caller).each(function(i, t) {
if ($(t).children().length > 0) {
$(t).text(($(t).find(':input').val()));
}
});
});
addTable('tt', '12','12','12','12', 'aa', 'bb', 'data', ['Column1', 'Column2', 'Column3', 'Column4', 'Column5'], ['aaa', 'bbb', 'ccc', 'ddd', 'eee'], 'yes', 'no', false);
function addTable(id, xs, sm, md, lg, parentID, parentType, datasrc, columns, columnValues, collapse, hidden, saveForm) {
var hiddenClass = (hidden == 'yes') ? 'hidden ' : '';
var collapseClass = (collapse == 'yes') ? 'no-more-tables' : 'table-responsive';
var $sizeDiv = $('<div/>', {
id: id,
class: hiddenClass + 'table-container col-xs-'+xs + ' col-sm-'+sm + ' col-md-'+md + ' col-lg-'+lg
});
var $containerDiv = $('<div/>', {
id: id+'-container',
class: collapseClass
});
var $table = $('<table/>', {
id: id+'-table',
class: 'table-bordered table-striped table-condensed'
});
var $thead = $('<thead/>', {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Related: See More


Questions / Comments: