复选框控制表格某一列的显示隐藏

项目需要实现用复选框控制数据列表的某一列显示或者隐藏,复选框和列表是封装好的组件,只需数据源。
//点击复选框隐藏或者显示列 var a= $("#listContainer").find("table tr:eq(0)").find("th").each(function(){ if(itemData.label==$(this).text()){ if(itemData.checked==1){ $(this).show(); tdNum = $(this).parent().parent().find('th').index($(this)[0]); $("#listContainer").find("table tr").each(function(){ $(this).find("td").eq(tdNum).show(); }) }else{ $(this).hide(); tdNum = $(this).parent().parent().find('th').index($(this)[0]); $("#listContainer").find("table tr").each(function(){ $(this).find("td").eq(tdNum).hide(); }) } } });
//复选框点击显示隐藏查询结果事件 
	$(document).ready(function(){
		var i=0;
		$("#hiddenTbl_str").find("input:checkbox").each(function(i){ //选择复选框对象
			i++;
		 //遍历showTab复选框
			$(this).click(function(){     //为每个复选框添加点击事件 
				var valuename = jQuery(this).val();
				//复选框是否选中处理事件
				if(jQuery(this).is(':checked')==false){
					console.log("false:"+jQuery(this).val());
					$("#listContainer").find("table tr:eq(0)").find("th[class="+valuename+"_w70]").hide();
					var j = $("."+valuename+"_w70").index();
					console.log("j:"+j)
					$("#listContainer").find("tr").each(function(){
						var k=0;
						$(this).find("td").each(function(){
							if(k==j){
								$(this).hide();
							}
							k++;
						});
					});
				}else{
//					valuename = jQuery(this).val();
					console.log("true:"+jQuery(this).val());
					$("#listContainer").find("table tr:eq(0)").find("th[class="+valuename+"_w70]").show();
					var j = $("."+valuename+"_w70").index();
					$("#listContainer").find("tr").each(function(){
						var k=0;
						$(this).find("td").each(function(){
							if(k==j){
								$(this).show();
							}
							k++;
						});
					});
				}
			})
			
		})	
	});
posted @ 2017-06-05 16:48  平凡人0714  阅读(1217)  评论(0)    收藏  举报