javascript 未捕获的错误:语法错误,无法识别的表达式:input:checkbox[name=ninja_forms_field_57[terms]]

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19483737/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 15:44:22  来源:igfitidea点击:

Uncaught Error: Syntax error, unrecognized expression: input:checkbox[name=ninja_forms_field_57[terms]]

javascriptjquery

提问by damrakred

I'm trying to limit the number of checkboxes that can be checked within a form, but am getting the following error:

我正在尝试限制可以在表单中选中的复选框的数量,但出现以下错误:

Uncaught Error: Syntax error, unrecognized expression: input:checkbox[name=ninja_forms_field_57[terms]]

未捕获的错误:语法错误,无法识别的表达式:input:checkbox[name=ninja_forms_field_57[terms]]

Here is the Javascript that I'm using:

这是我正在使用的 Javascript:

// Main Category
var $checkboxes_to_limit2 = $("#taxonomy_47").find("input:checkbox[name=ninja_forms_field_47[terms]]");
$checkboxes_to_limit2.live("change", function() {
    if($checkboxes_to_limit2.filter(":checked").length >= 3) {
    $checkboxes_to_limit2.not(":checked").attr("disabled","disabled");
    }
    else {
        $checkboxes_to_limit2.removeAttr("disabled");
    }
});

回答by Matthew Blancarte

You need to treat the name attribute as a string, so

您需要将 name 属性视为字符串,因此

input:checkbox[name=ninja_forms_field_47[terms]]

should be

应该

input:checkbox[name='ninja_forms_field_47[terms]']

回答by damrakred

You need some additional single quotes:

您需要一些额外的单引号:

var $checkboxes_to_limit2 =
  $("#taxonomy_47").find("input:checkbox[name='ninja_forms_field_47[terms]']")