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 }
