如果您对 jQuery 没问题,请在您的页面中包含 jQuery 库,将此行添加到您的页面中<head>
:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
这是基于硬编码的标题数组隐藏不需要的列的代码:
$(document).ready(function() {
//define which column headers to keep
var headersToKeep = ['---', 'C6', 'C7', 'C13', 'C14'],
colsToKeep = [],
table = $('#gvRealtime'),
ths = table.find('th');
//iterates over headersToKeep retrieving their indexes
$.each(headersToKeep, function(i, v) {
//finds each header and adds its index to the colsToKeep
colsToKeep.push(ths.filter(function() {
return $(this).text() == v;
}).index());
});
//makes a new jQuery object containing only the headers/cells not present in the colsToKeep
$('th, td', '#gvRealtime, #gvTotal').filter(function() {
return $.inArray($(this).index(), colsToKeep) == -1;
}).hide(); //and hides them
});
即使您对 JS/jQuery 没有太多经验,也会对代码进行注释,以防您对每个部分的作用有任何疑问。将它添加到 jQuery 库之后的<script></script>
标签内。<head>
这是JSFiddle。
当然,稍后您可以根据复选框或其他切换方法获取/制作数组。由于您没有要求任何特定接口,因此我将数组保留为硬编码。
编辑:显然,假设您已经知道列号而不是通过标题文本获取它们,您可以使用这个更简单的代码段:
$(document).ready(function() {
var colsToKeep = [0, 6, 7, 13, 14];
$('th, td', '#gvRealtime, #gvTotal').filter(function() {
return $.inArray($(this).index(), colsToKeep) == -1;
}).hide();
});
JSFiddle