我正在尝试冻结表头。我正在使用this插件来实现相同的目标
当我使用这个插件时,我得到了this.table_obj is undefined
。我试图找出问题所在,但无法得到解决方案。
当我在普通的html文件中尝试此代码时,它可以工作,但不在服务器端。
你可以看到错误here ..
有什么建议我收到这个错误吗?
答案 0 :(得分:1)
我认为javascript代码需要表id来获取表。可能你在调用javascript代码或指定了错误的表id时没有指定表id,或者表标记中没有表id。
但是你可以看看其他一些jquery插件 - http://www.farinspace.com/jquery-scrollable-table-plugin/
您的问题与以下问题有一定关系。所以,你也可以看看那个
答案 1 :(得分:0)
为了实现我的目标(如所讨论的那样),我写了一些代码,以便 -
这是我写过的插件。
(function($){
$.fn.scrollbarTable=function(i){
var o={};
if(typeof(i)=='number')o.height=i;
else if(typeof(i)=='object')o=i;
else if(typeof(i)=='undefined')o={height:300}
return this.each(function(){
var $t=$(this);
var w=$t.width();
$t.width(w-
function(width){
var parent,child;
if(width===undefined){
parent=$('<div style="width:50px;height:50px;overflow:auto"><div style="height:50px;"></div></div>').appendTo('body');
child=parent.children();
width=child.innerWidth()-child.height(99).innerWidth();parent.remove();
}
return width;
}());
var cols=[];
var tableCols=[];
$t.find('thead th,thead td').each(function(){cols.push($(this).width());});
$t.find('tr:eq(1) th,thead td').each(function(){tableCols.push($(this).width());});
var $firstRow=$t.clone();
$firstRow.find('tbody').remove();
$t.find('thead').remove();
$t.before($firstRow);
$firstRow.find('thead th,thead td').each(function(i){$(this).attr('width',cols[i]);});
$t.find('tr:first th,tr:first td').each(function(i){$(this).attr('width',tableCols[i]);});
var $wrap=$('<div>');
$wrap.css({width:w,height:o.height,overflow:'auto'});
$t.wrap($wrap);})};}(jQuery));
使用方法:
$(document).ready(function(){
$('table#tabss').scrollbarTable();
}
希望它会帮助某个人......
感谢你们所有人的支持......:)