Как сбросить все флажки с помощью jQuery или pure JS?



Как я могу сбросить все флажки в документе с помощью jQuery или pure JS?

911   11  

11 ответов:

Если вы имеете в виду как удалить "проверка" состояние всех чекбоксов:

$('input:checkbox').removeAttr('checked');

если вы хотите использовать функцию сброса формы, вам лучше использовать это:

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

или

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

выглядит так:removeAttr() не может быть сброшен путем form.reset().

приведенный выше ответ не сработал для меня -

далее работал

$('input[type=checkbox]').each(function() 
{ 
        this.checked = false; 
}); 

Это гарантирует, что все флажки сняты.

в некоторых случаях этот флажок может быть установлен по умолчанию. Если вы хотите восстановить выбор по умолчанию, а не установить его как невыбранный, сравните defaultChecked собственность.

$(':checkbox').each(function(i,item){ 
        this.checked = item.defaultChecked; 
}); 

я использовал это раньше:

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

Кажется, что .аттр И.removeAttr не работает для некоторых ситуаций.

 $(":checkbox:checked").each(function () {

 this.click(); 
});

чтобы снять флажок, поверните свою логику, чтобы сделать противоположное

как говорится в тату Ulmanen это С помощью следующего скрипта будет делать работу

$('input:checkbox').removeAttr('checked');

, а как Blakomen это сказал, после версии 1.6, что лучше использовать jQuery.prop() вместо

обратите внимание, что в jQuery v1. 6 и выше, вы должны использовать .prop ('checked', false) вместо этого для большего кросс-браузера совместимость

$('input:checkbox').prop('checked', false);

будьте осторожны при использовании jQuery.each() это может вызвать проблемы с производительностью. (кроме того, избегайте jQuery.find() в таком случае. Используйте каждый вместо этого)

$('input[type=checkbox]').each(function() 
{ 
    $(this).prop('checked', false); 
});

вы можете выбирать, какие div или часть вашей страницы могут иметь флажки, а какие нет. я наткнулся на сценарий, в котором у меня есть две формы на моей странице, и у одной есть предварительно заполненные значения(для обновления), а другие должны быть заполнены свежими.

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

Это позволит сделать только чекбоксы в форме с идентификатором newFormId как незарегистрированный.

Javascript

var clist = document.getElementsByTagName("input");
for (var i = 0; i < clist.length; ++i) { clist[i].checked = false; }

jQuery

$('input:checkbox').each(function() { this.checked = false; });

чтобы сделать наоборот, см.:установите все флажки по ID / Class

я использовал что-то вроде этого

$(yourSelector).find('input:checkbox').removeAttr('checked');
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container check">
<button class="btn">click</button>
  <input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car<br>
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car<br>
</div>
<script>
$('.btn').click(function() {

$('input[type=checkbox]').each(function() 
{ 
        this.checked = false; 
}); 
})
</script>
</body>
</html>

Comments

    Ничего не найдено.