关于javascript:Checkbox值始终为’on’

Checkbox value is always 'on'

本问题已经有最佳答案,请猛点这里访问。

这是我的复选框

HTML

1
2
3
<label class="checkbox">
    <input id="eu_want_team" name="eu_want_team" type="checkbox">
</label>

JQuery

1
2
var eu_want_team = $('#eu_want_team').val();
alert(eu_want_team);

它总是显示在上,是否选中。有什么问题吗?


使用.is(':checked')代替:Working JSfiddle

1
2
var eu_want_team = $('#eu_want_team').is(':checked');
alert(eu_want_team);

或者如@itay在评论中所说,您可以使用jquery的EDOCX1[1]来获取选中的属性值:

1
alert($("#eu_want_team").prop("checked"));


1
2
3
4
5
6
7
8
<label class="checkbox">
    <input id="eu_want_team" name="eu_want_team" type="checkbox" value="somevalue">
</label>


   var ele = document.getElementById("eu_want_team");
   if(ele.checked)
   alert(ele.value)


试试这个

1
2
3
if ( $('#element').is(':checked')){
    alert(element);
   }

这将起作用:

1
2
3
4
5
6
if ($('#element').is(":checked")) {
    eu_want_team = 1;
} else {
    eu_want_team = 0;
}
alert(eu_want_team);

我想这就是你想做的

1
2
3
$("#eu_want_team").click(function(){
    alert($(this).is(':checked'));
}

快速查看此答案以检查是否选中了复选框。

如何在jquery中检查复选框是否被选中?

但基本上你想做如下的事情来检查它的值:

1
2
3
if ($("#element").is(":checked")) {
  alert("I'm checked");
}