JQ判断checkbox复选或者单选框是否被选中
1 $('.groupDelete').click(function(){ 2 if($(".groupManage input[type='checkbox']").prop('checked')) { 3 //执行删除 4 console.log($('#groupform').serialize()); 5 $.ajax({ 6 url:'', 7 method:'post', 8 data:$('#groupform').serialize(), 9 success:function(){ 10 alert('提交成功'); 11 }, 12 error:function(){ 13 alert('提交失败'); 14 } 15 }) 16 }else{ 17 alert('请选择一个分组'); 18 } 19 });
同事写了一段判断checkbox复选框是否被选中的代码,我与后台交互时发现并不能选择checkbox,然而同事电脑上能执行,查资料验证后发现,在chrome中,这样不管选择不选择 alert()出来的都是undefined。修改了下代码,可以成功执行,代码如下:
1 $('.groupDelete').click(function () { 2 if ($("input:checkbox").is(':checked')) { 3 //执行删除 4 console.log($('#groupform').serialize()); 5 $.ajax({ 6 url: "{:U('group/index',array('type'=>2))}", 7 method: 'post', 8 data: $('#groupform').serialize(), 9 success: function () { 10 alert('提交成功'); 11 }, 12 error: function () { 13 alert('提交失败'); 14 } 15 }) 16 } else { 17 alert('请选择一个分组'); 18 } 19 });
另附三种判断CheckBox是否被选中的方法:
方法一: if ($("#checkbox-id")get(0).checked) { // do something } 方法二: if($('#checkbox-id').is(':checked')) { // do something } 方法三: if ($('#checkbox-id').prop('checked')) { // do something }