选中所有功能复选框

Posted

技术标签:

【中文标题】选中所有功能复选框【英文标题】:select all functionality check boxes 【发布时间】:2011-09-09 01:31:30 【问题描述】:

在下面的代码中,我正在尝试实现全选功能。当我在全选复选框上单击时,名为 sts 的复选框未被选中。我做错了什么

 $(document).ready(function() 
 $("#selectall").click(function()
     
        var checked_status = this.checked;
        $(".sts").each(function()
        
           this.checked = checked_status;
        );
     );
  );
    var ele1 ='<table cellpadding="0" cellspacing="0" border="1" ><tr><th style="width:100px;" ><p align="center">Select all students</p><p align="center"><input type="checkbox" name="sts" class="sts" id="selectall"  /></p></th><th><p align="center">Student name</p></th><th><p align="center">Select Grade</p></th><th><p align="center">Certificates</p></th></tr>';
     for(var l=0;l<data.studentarr.length;l++)
     
        ele1 +=  '<tr id="s_r_' + data.studentarr[l].id + '" class="students1"><td align="center" style="width:100px;"><input type="checkbox" class="sts" name="sts" /></td><td align="center">' + data.studentarr[l].name +'</td><td align="center">' + getgrade_values(data.studentarr[l].id) + '</td><td>' + data.studentarr[l].download_link + '</td></tr>';
     
     ele1 += "</table>";
     $('#student_table').append(ele1);

【问题讨论】:

cellpadding="0" cellspacing="0" border="1" - 我们现在有 CSS。 哈哈哈 :) 复制粘贴的结果 【参考方案1】:

您正在动态创建全选复选框,因此您应该使用live 或delegate 来绑定点击事件。

试试这个:

$("#selectall").live("click" , function()
     
        var checked_status = this.checked;
        $(".sts").not(this).each(function()
        
           this.checked = checked_status;
        );
     );
  );

【讨论】:

以上是关于选中所有功能复选框的主要内容,如果未能解决你的问题,请参考以下文章

jquery实现 点击复选框,勾选所有复选框,再次点击取消勾选,这个功能怎么实现?

如何使用复选框来选中或取消选中所有框到handsontable

如果选中所有子复选框,如何检查父复选框

选中另一个复选框时如何取消选中一组复选框

CheckBox 被选中但不执行功能

一旦选中一个,在所有TableRow元素上显示复选框