下面的这个代码是网络上的代码,做一个分析记录,原网址如下
html:
Jquery表格行全选反选 第一步,引入CSS第二步,引入JS
第三步,调用tableCheck
$selecter.tableCheck()
例子:选中行class为“warning”调用方法:
编程语言 C Java PHP JavaScript C++ Python $("#myTable").tableCheck("warning");
$selecter.tableCheck()
括号内为选中行的class,可自定义,example中使用的是Bootstrap,可用的class有waring
、info
、success
css:
js:
(function($){ $.fn.tableCheck = function(allCheckboxClass){ var allCheck = $(this).find("th").find(':checkbox'); var checks = $(this).find('td').find(':checkbox'); var defaults = { selectedRowClass:"active", } var settings = $.extend(defaults,allCheckboxClass); if(allCheckboxClass) settings.selectedRowClass = allCheckboxClass; /*所有checkbox初始化*/ $(this).find(":checkbox").prop("checked",false); /*全选/反选*/ allCheck.click(function(){ var set = $(this).parents('table').find('td').find(':checkbox'); if($(this).prop("checked")){ $.each(set,function(i,v){ $(v).prop("checked",true); $(v).parents('tr').addClass(settings.selectedRowClass); }); }else{ $.each(set,function(i,v){ $(v).prop("checked",false); $(v).parents('tr').removeClass(settings.selectedRowClass); }); } }); /* 监听全选事件 */ checks.click(function(e){ e.stopPropagation();//阻止冒泡 var leng = $(this).parents("table").find('td').find(':checkbox:checked').length; /*勾选后该行active*/ if($(this).prop('checked')){ $(this).parents('tr').addClass(settings.selectedRowClass); }else{ $(this).parents('tr').removeClass(settings.selectedRowClass); } if(leng == checks.length){ allCheck.prop('checked',true); }else{ allCheck.prop("checked",false); } }); /*点击table触发复选框*/ $(this).find("td").click(function(){ var _tr = $(this).parents('tr'); _tr.find(":checkbox").trigger("click"); }); }})(jQuery);