我有一个表单,用于搜索注册表.这个表单显示了jQuery对话框中的信息,在对话框的内部,我使用的是Datatables(是的,我有一个整个表).我用
PHP动态生成TR和TD,然后
PHP将该字符串粘贴到HTML中.
但是,当显示对话框时,我得到这个错误:
但是,当显示对话框时,我得到这个错误:
oCol is undefined:
oCol.fnSetData( oData,val );
我正在Firefox和Chrome中尝试,这是一回事.我也在http://www.datatables.net搜索,我丢弃了一个“格式错误的表”.我不知道我在做错什么
你能帮我解决这个问题吗?
这是我的JS块:
<script type="text/javascript" language="javascript" src="lib/jQuery/jquery-1.6.1.js"></script> <script type="text/javascript" language="javascript" src="lib/jQuery Ui/js/jquery-ui-1.8.13.custom.min.js"></script> <script type="text/javascript" language="javascript" src="lib/Datatables/DataTables-1.8.0/media/js/jquery.dataTables.js"></script> <script type="text/javascript"> $(document).ready(function (){ $("#results").dialog({ title: "Results",width: 900,height: 500,open: function(event,ui){ $("#tRes").dataTable({ "bPaginate": true,"bLengthChange": true,"bFilter": true,"bSort": true,"bInfo": true,"bAutoWidth": true }); } }); }); </script>
<div id="results"> <table id="tRes"> <thead> <tr> <th>ID</th> <th>Name</th> <th>State</th> <th>Address</th> </tr> </thead> <tbody> <?PHP echo $rows; ?> </tbody> </table> </div>
提前致谢.
解决方法
你是否尝试过这样的列:
$("#tRes").dataTable({ "bPaginate": true,"bAutoWidth": true,"aoColumns": [ null,null //put as many null values as your columns ] });
如果这还不行,那么你可以发贴生成的html吗?您可以考虑的另一件事情是在document.ready上初始化表,不仅在打开对话框时,我不认为这是问题.