2016-11-04 50 views
0

我有以下代碼來檢索權限IDS與AJAX標記複選框爲未選中使用jQuery

$('#verPermisos').click(function() {     
    var role = $('#roles :selected').val(); 

    $.ajax({ 
     type: "POST", 
     url: "populate", 
     data: { role : role }, 
     success: function(data) { 
      console.log(data); 
      var permisoArreglo = data; 
      $.each(permisoArreglo, function(index, value) { 
       $("input:checkbox[value=" + permisoArreglo[index] + "]").attr("checked", true); 
      }); 
     } 
    }); 

不過,我還用得着每個其點擊我用盡

$(this).closest('form').find("input[type=checkbox]").attr('checked', false); 
$('input[type=checkbox]').attr('checked', false); 

時間重置複選框我沒有任何問題取消選中框單獨但當我使用

$('input[type=checkbox]').attr('checked', false); 

它沒有longers檢查任何盒子

但它沒有奏效。

+5

嘗試'道具( '檢查',虛假)'。否則,請確保AJAX請求觸及'success'處理程序,並且您使用的DOM遍歷實際上是查找您期望的元素 –

+0

[使用jquery檢查/取消選中複選框?](http ://stackoverflow.com/questions/17420534/check-uncheck-checkbox-using-jquery) –

+0

它工作改變.prop非常感謝你 – Mntfr

回答

0

這應該工作

的Javascript

$('input[type="checkbox"]').prop('checked', false); 

JSFiddle

0

無論.attr('checked', false).prop('checked', false)應該工作(至少使用jQuery的最新版本。如果沒有這些工作,問題可能是其他的東西,比如重置觸發器之後重新設置它的東西,或者你可能只是有一個簡單的錯字或從來沒有得到他的代碼部分你在想它。

$(() => { 
 
    $('#withAttr').click(() => { $('input[type="checkbox"]').attr('checked', false); }); 
 
    $('#withProp').click(() => { $('input[type="checkbox"]').prop('checked', false); }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p><input type="checkbox" checked> Checkbox</p> 
 
<button id="withAttr">Clear with Attr</button> 
 
<button id="withProp">Clear with Prop</button>