2015-05-15 66 views
0

我有一些问题。我有我的jsp页面中的复选框。所以如果复选框被选中,我必须设置一个布尔变量为true,否则为false。我想是这样的jQuery中的布尔变量

<script> 
$(document).ready(function() { 
    $(".confirmCheckbox").change(function() { 
     boolean confirmAssignee = false; 
     $(this).attr("checked") { 
      confirmAssignee = true; 
     } 
     alert(confirmAssignee); 
    }); 
}); 

但它给这个错误

SyntaxError: missing ; before statement 
$(this).attr("checked") { 

我在页面上复式复选框。示例代码是这样的:

for loop(----) 
<input type="checkbox" id="confirmBox-${loopCounter.index}" class = "confirmCheckbox"> 

任何帮助将不胜感激。如果需要的话问任何事

+0

使用'var',代替'boolean' –

+0

JS变种定义:https://开头显影剂.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/var –

回答

2

您需要同时定义变量使用var和使用this.checked.prop()得到复选框是否被选中与否。

简单的陈述就可以做到。

var confirmAssignee = this.checked; //OR $(this).prop("checked"); 

完整的脚本

$(document).ready(function() { 
    $(".confirmCheckbox").change(function() { 
     var confirmAssignee = false; 

     if (this.checked) { 
      confirmAssignee = true; 
     } 
     alert(confirmAssignee); 
    }); 
}); 
+0

@ user3681970,很高兴能帮到你 – Satpal

1

没有布尔使用类型var

变化

boolean confirmAssignee = false; 

var confirmAssignee = false; 

你也将错过,如果在状态$(this).attr("checked") {应该是if($(this).attr("checked")) {

注意使用支票代替attr复选框,建议为jQuery doc

例如,的selectedIndex,标记名的nodeName,节点类型, ownerDocument,defaultChecked和defaultSelected应检索 并与.prop()方法设置。在jQuery 1.6之前,这些属性 可以通过.attr()方法获取,但这不在attr的 范围内。这些属性没有相应的属性,只有 属性。

您可以简化代码像

Live Demo

$(".confirmCheckbox").change(function() { 
    alert(this.checked); 
}); 
+0

Thanks dude :)它帮助:) – user3681970

+0

不客气@ user3681970 – Adil

0
  1. 有没有boolean变量。您只需使用var而不是boolean
  2. 要检查是否复选框被选中,你应该使用:checked
  3. 你缺少if

试试这个:

$(document).ready(function() { 
    $(".confirmCheckbox").change(function() { 
     var confirmAssignee = false; 
     // ^^^^^^^^^^^^^^^^^^^^^^^^^ 

     if ($(this).is(":checked")) { 
     // ^^^^^^^^^^^^^^^^^^^^^^^^ 
      confirmAssignee = true; 
     } 
     alert(confirmAssignee); 
    }); 
}); 
0

的Javascript有你没有需要申报的数据类型的自动数据类型它会自动采用JavaScript。要检查使用this.checked

$(".confirmCheckbox").change(function() { 
     var confirmAssignee = false; 

     if (this.checked) { 

      confirmAssignee = true; 
     } 
     alert(confirmAssignee); 
    }); 
0

两个问题的复选框,在你的代码 一个存在于JavaScript中使用VAR而不是布尔

其次没有布尔数据类型,你需要检查,如果复选框被选中或不如果条件

使用以下代码:

$(document).ready(function() { 

$(".confirmCheckbox").change(function() { 

var confirmAssignee = false; 
if($(this).attr("checked")) { 

} 
alert(confirmAssignee); 
}); 
}); 
0

1)使用var的布尔

var confirmAssignee = false;

2代替)使用选中复选框属性

if($(this).is(':checked'))