Como activar a paginação e pesquisa da mesa de inicialização?
tenho seguido dois guias sobre a adição de paginação a uma tabela de Bootstrap, mas quando adiciono as ligações e os scripts necessários, a paginação ou pesquisa não aparece na tabela de bootstrap.
eu tentei colocar a referência jQuery no início da tag de cabeça como esta solução sugeriu, mas não fez diferença.
tenho a certeza que isto é apenas um desfasamento na encomenda das referências cdn da biblioteca externa, mas não tenho a certeza da ordem correcta.
eu também verificou se o script referencia a tabela correta, que ele faz - "escalada"
Pergunta:
Como posso organizar as referências para mostrar o paging da tabela?marcação: (gist da marcação da vista)
<!DOCTYPE html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript" language="javascript" src="media/js/jquery.dataTables.js"></script>
<link rel="stylesheet" type="text/css" href="media/css/jquery.dataTables.css">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container body-content">
<div class="page-header">
<label class="heading">History</label>
<div class="form-group">
<fieldset>
<form action="" class="form-group" method="post">
<div class="table-responsive">
<div class="table-responsive">
<table id="escalation" class="table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>Application</th>
<th>EMOPOP</th>
<th>Stats</th>
<th>Statement</th>
<th>Time</th>
<th>Updated</th>
<th>Details</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>$320,800</td>
<td>2011/04/25</td>
<td>$320,800</td>
</tr>
</tbody>
</table>
</div>
</div>
</form> <!--END OF FORM ^^-->
</fieldset>
</div>
<hr />
</div>
</div>
</body>
<script>
$(document).ready(function () {
$('#escalation').dataTable();
});
</script>
3 answers
Https://jsfiddle.net/bu4r2od4/
Tem de utilizar jQuery 1, 9+
E use isto:
$(document).ready(function () {
$('#escalation').DataTable();
});
Este código funciona perfeitamente, basta testar usando o corte abaixo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Final Output</title>
<meta name="description" content="Bootstrap.">
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<link rel="stylesheet" href="http://cdn.datatables.net/1.10.2/css/jquery.dataTables.min.css"></style>
<script type="text/javascript" src="http://cdn.datatables.net/1.10.2/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</head>
<body style="margin:20px auto">
<div class="container">
<div class="row header" style="text-align:center;color:green">
<h3>Bootstrap</h3>
</div>
<table id="myTable" class="table table-striped" >
<thead>
<tr>
<th>ENO</th>
<th>EMPName</th>
<th>Country</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>001</td>
<td>Anusha</td>
<td>India</td>
<td>10000</td>
</tr>
<tr>
<td>002</td>
<td>Charles</td>
<td>United Kingdom</td>
<td>28000</td>
</tr>
<tr>
<td>003</td>
<td>Sravani</td>
<td>Australia</td>
<td>7000</td>
</tr>
<tr>
<td>004</td>
<td>Amar</td>
<td>India</td>
<td>18000</td>
</tr>
<tr>
<td>005</td>
<td>Lakshmi</td>
<td>India</td>
<td>12000</td>
</tr>
<tr>
<td>006</td>
<td>James</td>
<td>Canada</td>
<td>50000</td>
</tr>
<tr>
<td>007</td>
<td>Ronald</td>
<td>US</td>
<td>75000</td>
</tr>
<tr>
<td>008</td>
<td>Mike</td>
<td>Belgium</td>
<td>100000</td>
</tr>
<tr>
<td>009</td>
<td>Andrew</td>
<td>Argentina</td>
<td>45000</td>
</tr>
<tr>
<td>010</td>
<td>Stephen</td>
<td>Austria</td>
<td>30000</td>
</tr>
<tr>
<td>011</td>
<td>Sara</td>
<td>China</td>
<td>750000</td>
</tr>
<tr>
<td>012</td>
<td>JonRoot</td>
<td>Argentina</td>
<td>65000</td>
</tr>
</tbody>
</table>
</div>
</body>
<script>
$(document).ready(function(){
$('#myTable').dataTable();
});
</script>
</html>
Actualizei as referências em layout.cshtml to jquery 1.9+
e também teve que comentar o seguinte, o que impediu os scripts de renderizar:
//commented out
//@Scripts.Render("~/bundles/jquery")
//@RenderSection("scripts", required: false)
Isto foi sugerido numa pergunta semelhante:
MVC 4 Razor Object doesn't support property or method 'datable'