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 }