我是第一次加载数据时尝试自动选择第一行表而没有这样做。
第一次加载表格时,如何自动选择第一行表格? 这个HTML不起作用:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css" title="currentStyle">
@import "DataTables/css/demo_page.css";
@import "DataTables/css/demo_table.css";
</style>
<script type="text/javascript" src="Datatables/js/jquery.js"></script>
<script type="text/javascript" src="Datatables/js/jquery.dataTables.js"></script>
<script>
var oTable;
var firstTime = true;
$(document).ready(function () {
$("#example tbody").click(function (event) {
$(oTable.fnSettings().aoData).each(function () {
$(this.nTr).removeClass('row_selected');
});
$(event.target.parentNode).addClass('row_selected');
});
oTable = $('#example').dataTable({
"sScrollX": "500px",
"sPaginationType": "full_numbers",
"bServerSide": true,
"sAjaxSource": "services/data3.ashx",
"sServerMethod": "POST",
"fnDrawCallback": function (oSettings) {
if (firstTime) {
alert('DataTables has redrawn the table');
oTable.$('tr:first').click();
firstTime = false;
}
}
});
});
</script>
</head>
<body>
<table border="1" >
<tr><td>id</td><td><input type="text" /></td></tr>
<tr><td>name</td><td><input type="text" /></td></tr>
<tr><td>surname</td><td><input type="text" /></td></tr>
</table><br />
<table id="example" border="1" class="display">
<thead>
<tr>
<td>name</td>
<td>surname</td>
<td>id</td>
</tr>
</thead>
<tbody></tbody>
</table>
</body>
</html>
答案 0 :(得分:2)
oTable.$('tr:first')
会引发错误 - $
不是oTable的函数或属性。
您必须使用
oTable.find('tbody tr:first').focus()
因为tr:first
会返回<thead>
<tr>
,而不是<tbody>
<tr>
!
我不认为您默认情况下可以将整个<tr>
集中在HTML中,因此您必须向<tr>
添加一些CSS以使焦点可见。喜欢这个
tr {
border:1px inset white;
}
tr.focused {
border:1px solid red;
}
oTable.find('tbody tr:first').addClass('focused');
单击行时对焦行的示例:
oTable.find('tbody tr').click(function() {
oTable.find('tbody tr').removeClass('focused');
$(this).addClass('focused');
});
以上所有这些小提琴 - &gt;的 http://jsfiddle.net/vv7Sa/ 强>
答案 1 :(得分:0)
点击此链接,它应该有所帮助:https://www.datatables.net/forums/discussion/18305/select-first-row-onload。或者你可以试试这个:
$('#table-id').on('init.dt', function() {
$('#table-id tbody tr:eq(0)').click();
});