如何在jQuery中获得复选框的值?


当前回答

请注意,截至今天,2018年,由于api多年来不断变化。 removeAttr已被撤销,不再工作!

Jquery选中或取消选中复选框:

糟糕,再也不能工作了。

   $('#add_user_certificate_checkbox').removeAttr("checked");

   $('#add_user_certificate_checkbox').attr("checked","checked");

相反,你应该这样做:

      $('#add_user_certificate_checkbox').prop('checked', true);
      $('#add_user_certificate_checkbox').prop('checked', false);

其他回答

使用以下代码:

$('input[name^=CheckBoxInput]').val();

澄清一下:

$('#checkbox_ID').is(":checked")

将返回true或false

简单但有效,并假设你知道会找到复选框:

$("#some_id")[0].checked;

给真/假

//By each()
var testval = [];
 $('.hobbies_class:checked').each(function() {
   testval.push($(this).val());
 });


//by map()
var testval = $('input:checkbox:checked.hobbies_class').map(function(){
return this.value; }).get().join(",");

 //HTML Code

 <input type="checkbox" value="cricket" name="hobbies[]"  class="hobbies_class">Cricket 
  <input type="checkbox" value="hockey" name="hobbies[]" class="hobbies_class">Hockey

例子 演示

下面是如何获取所有选中复选框的值作为数组:

var values = (function() {
                var a = [];
                $(".checkboxes:checked").each(function() {
                    a.push(this.value);
                });
                return a;
            })()