Jquery 为什么checkall代码不起作用?

Jquery 为什么checkall代码不起作用?,jquery,Jquery,html代码: <div> <input type="checkbox" onclick="selectAll(this);" />select all<br/> <input type="checkbox" /><br/> <input type="checkbox" /><br/> <input type="checkbox" /&

html代码:

<div>

        <input type="checkbox" onclick="selectAll(this);" />select all<br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
</div>
为什么选择和取消选择都不起作用。当我使用alert语句来测试代码的错误时。警报也不起作用

我想知道为什么我的代码不起作用?

您有一个额外的引号$input[type=checkbox]。attr'checked',***'**$checkbox.attr'checked'

和拼写错误的警报

并且没有复选框变量

我看不到selectAll函数,你可以删除这些内联内容

<div>

        <input type="checkbox" class="checkall" />select all<br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
</div>

$('.checkall').change(function() {
  $('input[type="checkbox"]').attr('checked', $(this).attr('checked'));
});
在等号后面缺少强制引号

基本上,您的代码有很多错误:

编辑

OP完全更改了他的代码:p

您有一个额外的引号$input[type=checkbox].attr'checked',***'**$checkbox.attr'checked'

和拼写错误的警报

并且没有复选框变量

我看不到selectAll函数,你可以删除这些内联内容

<div>

        <input type="checkbox" class="checkall" />select all<br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
</div>

$('.checkall').change(function() {
  $('input[type="checkbox"]').attr('checked', $(this).attr('checked'));
});
在等号后面缺少强制引号

基本上,您的代码有很多错误:

编辑

OP完全更改了他正在讨论的代码:p

$document.ready在加载文档时激发。它不是一个命名函数

HTML假定有一个名为selectAll的函数

尝试交换您的$document.ready与以下内容

function selectAll(checkbox)
{
    alert("test");
    $("input[type=checkbox]").attr('checked',$(checkbox).attr('checked'));
}
更新

定义函数不会执行该函数。因此,定义不需要在$document.ready中。只有在单击第一个复选框时才会调用它。

$document.ready在加载文档时激发。它不是一个命名函数

HTML假定有一个名为selectAll的函数

尝试交换您的$document.ready与以下内容

function selectAll(checkbox)
{
    alert("test");
    $("input[type=checkbox]").attr('checked',$(checkbox).attr('checked'));
}
更新


定义函数不会执行该函数。因此,定义不需要在$document.ready中。只有在单击第一个复选框时才会调用它。

您的代码没有多大意义。当前要做的是将事件处理程序传递给ready方法,该方法检查documentready上的所有输入。只有你修正了错误,这才会发生

你需要的是这样的东西:


你的代码没有多大意义。当前要做的是将事件处理程序传递给ready方法,该方法检查documentready上的所有输入。只有你修正了错误,这才会发生

你需要的是这样的东西:

使用jQuery最简单的“全部检查”

HTML:

使用jQuery最简单的“全部检查”

HTML:



您的selectAll方法在哪里?您在哪里定义了selectAll函数?$document.readyfunctioncheckbox{…};中checkbox参数的值是多少;?我很抱歉。我错过了方法。我已经更新了我的操作。谢谢。将“函数selectAllcheckbox”从“$document.readyfunction”中移出{……'星期一,为什么我要将functon移出$document.ready。是不是不能将定义的函数放入其中?selectAll方法在哪里?您在哪里定义了selectAll函数?在$document.readyfunctioncheckbox中checkbox参数的值是多少?{…}?对不起,我错过了该方法。我已更新了操作。谢谢。将“函数selectAllcheckbox”从“$document.readyfunction”中移出{……'星期一,为什么我要把函数从$document.ready中移出?是不是不能把定义好的函数放进去?如果我想把函数放到$document.ready中,我该怎么做?因为我用了$document.ready中的一些部分。为了使代码整洁,我想把函数放进去。@rundaily你用了哪些部分$document.ready?它如何使代码更整洁?在我的js文件中,我使用了$document.readyfunction{}。我是否可以将functon selectAllcheckbox放入其中。@每天单独定义您的方法都是非常正常和干净的。如果我想将函数放入$document.ready中,我该怎么做?因为我使用了$document.ready中的某些部分。为了使代码整洁,我想将functon放入其中。@RunDaily您使用了哪些部分$document.ready中的se?它如何使代码更整洁?在我的js文件中,我使用了$document.readyfunction{}。我可以将functon selectAllcheckbox放入其中吗。@Reunevery每天单独定义您的方法是非常正常和干净的。如果我想将我定义的函数放入$document中。准备好了吗?我该怎么做?谢谢。@RunDaily实际上不太多。只需将它移出document.ready处理程序。这里有一个小问题:如果我想放入函数这是我在$document.ready中定义的。我该怎么做?谢谢。@rundaily实际上不太多。只需将其移出document.ready处理程序。这里有一个小问题:将'function selectAllcheckbox'移出'document.readyfunction{……'将'function selectAllcheckbox'移出'$document.readyfunction{……'
<div>
        <input type="checkbox" class="checkall" />select all<br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
        <input type="checkbox"  /><br/>
</div>
$(function () {
    $('.checkall').click(function () {
        $(this).parents('div').find(':checkbox').attr('checked', this.checked);
    });
});