Javascript 使用jQuery选择并取消选择一组复选框

Javascript 使用jQuery选择并取消选择一组复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,让我们从头开始,但请不要惊慌。。。是Jquery问题- 我正在编写一个PHP代码:用户向我们的数据库发送一个查询,表单显示结果集,分组在表中,并使用复选框选择数据 我想知道如何使Jquery代码能够使用Select/Deselect复选框运行,以选择/取消选择每个表的数据,我的意思是,每个结果集 举个例子,像这样的例子 1:所有复选框都有一个“checkbox”类:input type=“checkbox”class=“checkbox” function toggleChecked(statu

让我们从头开始,但请不要惊慌。。。是Jquery问题-

我正在编写一个PHP代码:用户向我们的数据库发送一个查询,表单显示结果集,分组在表中,并使用复选框选择数据

我想知道如何使Jquery代码能够使用Select/Deselect复选框运行,以选择/取消选择每个表的数据,我的意思是,每个结果集

举个例子,像这样的例子

1:所有复选框都有一个“checkbox”类:input type=“checkbox”class=“checkbox”

function toggleChecked(status) {
    $(".checkbox").each( function() {
        $(this).attr("checked",status);
    });
}
你能告诉我修改toggleChecked函数的最佳方法是什么吗

调用toggleChecked的第二个参数,用第二个参数值替换.checkbox?我找不到正确的语法来做这件事

还是有不同的方法

顺便说一句,用道具代替attr更好吗?
致以最诚挚的问候。

只需在函数中添加第二个参数,然后使用它

function toggleChecked(status,selector) {
    $(selector).each(......);
}
如果您真的在为这么简单的事情而挣扎,那么您真的不应该使用jQuery。您应该首先了解普通JavaScript。否则,这就像带着世界上最好的工具去一个建筑工地,甚至可能知道如何完美地使用这些工具。。。但是,如果你不知道基本建筑是如何运作的,你可能会建造一座漂亮的建筑,没有地基,一天之内就会倒塌

在这种情况下非常有用,否则propchecked将返回布尔值,因此:

var boxes = $(".checkbox");
boxes.prop("checked", !boxes.prop("checked"));

是的,更好。

我知道你已经得到了答案,但是。。。以下是我的版本:

$.fn.changeCheckboxesState = function(state){
        if (state === undefined)
            state = true;

        $(this).filter(':checkbox').each(function() {
            $(this).prop('checked', state);
        });

        return this;
    };
$.fn.toggleCheckboxes = function() {

        $(this).filter(':checkbox').each(function() {
            var $this = $(this);

            $this.prop('checked', !$this.prop('checked'))
        });

        return this;
    };

是的,最好用道具。在你的搜索中应该会出现这样的情况:也许我很困惑,但不完全一样,对吧?所有代码示例仅针对一组复选框。我不知道如何选择某组复选框或从属复选框…您采用该概念并将其应用于指定为组的一部分的复选框。$.checkbox.propchecked,boolean似乎更好由于选择器上下文,您的示例无法正常工作。其工作原理如下:
<script>
$(document).ready(function() {
    $('#selecctall').click(function(event) {  
        if(this.checked) { 
            $('.checkbox1').each(function() { 
                this.checked = true;           
            });
        }else{
            $('.checkbox1').each(function() { 
                this.checked = false;                   
            });        
        }
    });

});
</script>

In Cakephp code--

<?php   echo $this->Form->input('selecctall',array('id'=>'selecctall','type'=>'checkbox')); ?>

<?php   echo $this->Form->input('massaction',array('class'=>'checkbox1','label'=>'','type'=>'checkbox')); ?>