Javascript 未捕获语法错误:意外标记
我还在学习jQuery。我试图编写一个脚本,用rel=“toggleSelect”查找任何元素。它应该在my函数中添加一个onclick属性,以启用或禁用所提供组(“actions”数组)中的所有复选框。我收到一个错误,上面写着“未捕获语法错误:意外标记}”。我不明白为什么。我认为这与groupId perm输入的选择器有关。泰雅Javascript 未捕获语法错误:意外标记,javascript,jquery,syntax-error,Javascript,Jquery,Syntax Error,我还在学习jQuery。我试图编写一个脚本,用rel=“toggleSelect”查找任何元素。它应该在my函数中添加一个onclick属性,以启用或禁用所提供组(“actions”数组)中的所有复选框。我收到一个错误,上面写着“未捕获语法错误:意外标记}”。我不明白为什么。我认为这与groupId perm输入的选择器有关。泰雅 $(function(){ $('input[rel="toggleSelect"]').on("click", function(){
$(function(){
$('input[rel="toggleSelect"]').on("click", function(){
var groupId = $(this).attr("id");
var actions = new Array("read", "create", "reply", "moderate");
for(var i=0;i<=actions.length;i++){
checkboxName = $('input[name="perms[" + groupId + "][" + actions[i] + "]"');
if(checkboxName.is(":enabled")){
checkboxName.prop("disabled", true);
} else {
checkboxName.prop("disabled", false);
}
}
}
});
$(函数(){
$('input[rel=“toggleSelect”]”)。在(“单击”,函数()上{
var groupId=$(this.attr(“id”);
var actions=新数组(“读取”、“创建”、“回复”、“中等”);
对于(var i=0;i您缺少一个结束语)
。此外,您需要通过var关键字实例化您的checkboxName
,并以其他方式连接选择器,最终代码应该如下所示:
$(function () {
$('input[rel="toggleSelect"]').on("click", function () {
var groupId = $(this).attr("id");
var actions = new Array("read", "create", "reply", "moderate");
for (var i = 0; i <= actions.length; i++) {
var checkboxName = $('input[name="perms[' + groupId + '][' + actions[i] + ']"');
if (checkboxName.is(":enabled")) {
checkboxName.prop("disabled", true);
} else {
checkboxName.prop("disabled", false);
}
}
}); // <-- here
});
$(函数(){
$('input[rel=“toggleSelect”]')。在(“单击”上,函数(){
var groupId=$(this.attr(“id”);
var actions=新数组(“读取”、“创建”、“回复”、“中等”);
对于(var i=0;i在绑定click事件处理程序时修复缺少的括号后,这一行出现问题:
checkboxName = $('input[name="perms[" + groupId + "][" + actions[i] + "]"');
这看起来好像您正试图通过将某些变量的值与字符串文字串联来动态构建字符串,但在串联之前使用了错误类型的引号来结束字符串。当您实际需要单引号时,使用双引号会导致jQuery选择器完全无效
将其更改为以下内容:
checkboxName = $('input[name="perms[' + groupId + '][' + actions[i] + ']"');
理想情况下,也需要一个;
:)好的,这样就消除了标记错误,现在当我单击复选框时,它会给我未捕获的错误:语法错误,无法识别的表达式:input[name=“perms[“+groupId+”][“+actions[I]+]”@鞋带1291您需要通过var
关键字实例化您的checkboxName
,并以其他方式连接选择器,请尝试“我的更新”code@ShoeLace1291我在回答中提到了这一点;您创建的选择器字符串不正确。在尝试连接变量之前,您实际上没有结束字符串文字值。@Felix您更新的代码不正确-您不应该在单引号和+
之间使用双引号。谢谢!我刚刚意识到我使用了错误的道具!只启用/禁用,而不是选中/取消选中lol。
checkboxName = $('input[name="perms[' + groupId + '][' + actions[i] + ']"');