this.is(":已检查")无效

fly*_*sun 0 javascript jquery

我正在使用以下代码循环遍历表单中的所有复选框.这些框是动态地从php脚本中生成的,因此我不知道名称或复选框的数量.

我需要找出已经勾选了哪些复选框,所以我只将那些复选框传递给处理表单的php脚本.

 $("#panelform input:checkbox").each(function () {
    if(this.is(":checked")){
    fields = fields+"&"+this.name+"="+this.value;
}
});
Run Code Online (Sandbox Code Playgroud)

当脚本到达this.is(":checked")时,它出错但是jquery我的控制台没有显示任何错误信息就停止了.

如果我提醒或console.log"这个"在第一行后我得到表单字段,所以我知道那很有用.

fca*_*ran 5

尝试

 if($(this).is(":checked")){
Run Code Online (Sandbox Code Playgroud)

因为this它只是对DOM中节点的引用(而您需要使用jQuery包装器来链接该方法is().

  • 如果没有优化问题中提供的代码,那么就是愚蠢的回答. (4认同)