我试过这个:
<html> <body>
<script type="text/JavaScript" src="/DataTables/jquery-1.4.2.js"></script> <script type="text/JavaScript" src="/DataTables/jquery.dataTables.js"></script>
<table id="myTableId">
<tr>
<td>Enter Rows</td>
<td><input type="number" id="txtRows"/></td>
</tr>
<tr>
<td>Enter Columns</td>
<td><input type="number" id="txtCols"/></td>
</tr>
<tr>
<td colspan="2"><input type="button" id="btnDisplay" value="Display" onClick="ShowTable();"/></td>
</tr>
</table>
<table id="tbl_DynamicTable" border="1" style="display:none">
</table>
</body> <script type="text/JavaScript">
function ShowTable() {
document.getElementById("tbl_DynamicTable").style.display = ""; createTable(); }
function createTable() {
var rows = document.getElementById("txtRows").value;
var cols = document.getElementById("txtCols").value;
var table = document.getElementById("tbl_DynamicTable");
var str="";
var randomColor;
for(var i=0;i<rows;i++)
{
randomColor = '#'+Math.floor(Math.random()*16777215).toString(16);
str += "<tr id=row" + i +" bgcolor="+randomColor+">";
for(var j=0;j<cols;j++)
{
if(i==0)
{
str += "<th> Header " + j + "</th>";
}
else
{
str += "<td> Row " + i + ", Cell "+ j + "</td>";
}
}
str += "</tr>";
}
table.innerHTML = str;
$("#myTableId").dataTable(); } </script> </html>
我想将此表转换为jQuery DataTable。
显示错误Uncaught ReferenceError: $ is not defined [repeated 2 times]
。
如何解决这个问题?我想使用这个jQuery DataTable来搜索和分页功能。但首先要先将其转换为DataTable。
答案 0 :(得分:6)
为了使DataTable能够正常运行,目标表的HTML必须以良好的方式布局,并声明'thead'和'tbody'部分。例如:
<table id="table_id">
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>etc</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1 Data 1</td>
<td>Row 1 Data 2</td>
<td>etc</td>
</tr>
<tr>
<td>Row 2 Data 1</td>
<td>Row 2 Data 2</td>
<td>etc</td>
</tr>
</tbody>
</table>
答案 1 :(得分:3)
将表格的头部和主体分成不同的部分(thead和tbody)并调用插件。
$('#table_id').dataTable({
// parameters
});
答案 2 :(得分:1)
在您声明otable的功能之外。
var oTable;
创建html表后的函数内部:
if(oTable.length>0)
oTable.fnDestroy();
oTable=$("tableid").dataTable({
"sDom": '<"top"i>rt<"bottom"flp><"clear">',
"sScrollY":500,
"bScrollCollapse": true,
"bPaginate": true,
"bFilter": true,
"bSort": true,
"bInfo": false,
"bSortClasses": false
});