// Data will be replaced with your Json call
var data = [
{'username': 'name1', 'email':'email1', 'password':'password1', 'active':'active1' },
{'username': 'name2', 'email':'email2', 'password':'password2', 'active':'active2' },
{'username': 'name3', 'email':'email3', 'password':'password3', 'active':'active3' },
{'username': 'name4', 'email':'email4', 'password':'password4', 'active':'active4' },
{'username': 'name5', 'email':'email5', 'password':'password5', 'active':'active5' },
{'username': 'name6', 'email':'email6', 'password':'password6', 'active':'active6' },
{'username': 'name7', 'email':'email7', 'password':'password7', 'active':'active7' },
{'username': 'name8', 'email':'email8', 'password':'password8', 'active':'active8' },
{'username': 'name9', 'email':'email9', 'password':'password9', 'active':'active9' },
{'username': 'name10','email':'email10','password':'password10','active':'active10'},
{'username': 'name11','email':'email11','password':'password11','active':'active11'},
{'username': 'name12','email':'email12','password':'password12','active':'active12'}
];
var MAX_ROWS = 5;
var totalRows = 0;
var page = 0;
$(document).ready(function() {
// display first 5 rows
var $templateRow = $('#templateRow');
$.each(data, function(i, obj) {
var $row = $templateRow.clone().removeAttr('id')
// copy data
$row.find('*[data-name]').html(obj.username);
$row.find('*[data-email]').html(obj.email);
$row.find('*[data-pass]').html(obj.password);
$row.find('*[data-active]').html(obj.active);
$('.table').append($row);
});
// Navigation part
page = 0;
totalRows = data.length;
showRows();
displayNext();
// Navigation handler
$('*[data-prev-lnk]').on('click', function(e) {
e.preventDefault();
page--;
displayPrev();
displayNext();
showRows()
});
$('*[data-next-lnk]').on('click', function(e) {
e.preventDefault();
page++;
displayPrev();
displayNext();
showRows();
});
});
function displayPrev() {
if (page > 0)
$('*[data-prev-lnk]').show();
else
$('*[data-prev-lnk]').hide();
}
function displayNext() {
var currRow = (page+1) * MAX_ROWS;
if (currRow >= totalRows)
$('*[data-next-lnk]').hide();
else
$('*[data-next-lnk]').show();
}
function showRows() {
var startRow = page * MAX_ROWS;
var counter = 0;
$('.row').each(function() {
if (! ($(this).attr('id') || $(this).hasClass('header'))) {
if (counter < startRow || counter >= startRow + MAX_ROWS) {
$(this).hide();
}
else {
$(this).show();
}
counter++;
}
});
}
div.table {border: 1px solid black; display: table; width: 500px;}
div.row {border: 1px solid black; display: table-row; }
div.cell {border: 1px solid black; display: table-cell; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="wrapper">
<div class="table">
<div class="row header blue">
<div class="cell">Username</div>
<div class="cell">Email</div>
<div class="cell">Password</div>
<div class="cell">Active</div>
</div>
<div id="templateRow" class="row" style="display:none;">
<div class="cell" data-name=''></div>
<div class="cell" data-email=''></div>
<div class="cell" data-pass=''></div>
<div class="cell" data-active=''></div>
</div>
</div>
<br/><a href='#' data-prev-lnk='' style='display:none'>Previous</a>
<br/><a href='#' data-next-lnk='' style='display:none'>Next</a>
</div>
如果你只是想在未來5項,爲什麼不包括在請求參數,並讓它只返回那些?或者全部添加它們,但隱藏最後5個,幷包含一個按鈕以顯示它們? – 2015-01-20 21:05:28
我祈禱你已經醃製並散列了純文本密碼。 – Terry 2015-01-21 00:57:25