使用jquery将复选框标记为未选中

时间:2016-11-04 16:01:27

标签: javascript jquery

我有以下代码从AJAX

的权限中检索ID
$('#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);
            });
        }
    });

但是每次点击Ive尝试

时,我也需要重置复选框
$(this).closest('form').find("input[type=checkbox]").attr('checked', false);
$('input[type=checkbox]').attr('checked', false);

我没有任何问题取消选中框,但是当我使用

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

没有盗版者检查任何方框

然而它还没有奏效。

2 个答案:

答案 0 :(得分:0)

这应该有效

<强>的Javascript

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

JSFiddle

答案 1 :(得分:0)

.attr('checked', false).prop('checked', false)应该有效(至少使用最新版本的jQuery。如果这些都不起作用,问题可能是其他问题,例如在它之后重新重置它的事情&# 39; s重置触发器,或者你可能只是有一个简单的拼写错误或者从未得到过你尝试过的代码部分。

&#13;
&#13;
$(() => {
  $('#withAttr').click(() => { $('input[type="checkbox"]').attr('checked', false); });
  $('#withProp').click(() => { $('input[type="checkbox"]').prop('checked', false); });
});
&#13;
<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>
&#13;
&#13;
&#13;