如何防止checkAll选择未来的日期?

时间:2010-07-30 04:05:45

标签: jquery html

我们在表格标题的顶部有一个天数列表,如果所选日期大于当天,我们要禁用“全部检查”功能(例如今天是30日,但是选择31日)。我们将允许checkAll在低于当前日期的任何日期工作。我们如何实现这一目标?

    <script type="text/javascript">
        jQuery(document).ready(function(){
            // This provides selectAll, clearAll capability
            jQuery('#records').find('thead th').click( function(){
                var ch = jQuery(this).find("input[type='checkbox']").attr('checked');
                var col = jQuery(this).prevAll().length;
                var ch = jQuery(this).find("input[type='checkbox']").attr('checked');
                jQuery('#records').find('tbody td').each( function(){
                    var tdId = jQuery(this).attr('id');
                    if(col == tdId) {
                        if(jQuery(this).hasClass('user-present')) {
                            // Toggle the value of attribute checked for the checkbox
                            jQuery(this).find("input[type='checkbox']").attr('checked', true);
                        }
                    }
                });
            });

        });
    </script>

1 个答案:

答案 0 :(得分:1)

1)您可以在服务器端使用CSS类标记每个'future'日期,然后只编写一个合适的CSS选择器来过滤它们;

2)您可以将title属性附加日期字符串(例如2010-07-30)到每个元素,并进一步比较两个日期。

var today = new Date();
var check_me = new Date("2012-12-21"); // element.attr("title") instead of "2012-12-21" in your case
if (check_me <= today)
{
    //Everything is ok
}