Как я могу reset установить все флажки в документе с помощью jQuery или чистого JS?
Как reset все флажки с использованием jQuery или чистого JS?
Ответ 1
Если вы имеете в виду, как удалить состояние "checked" из всех флажков:
$('input:checkbox').removeAttr('checked');
Ответ 2
Если вы хотите использовать функцию reset, вам лучше использовать это:
$('input[type=checkbox]').attr('checked',true);
ИЛИ
$('input[type=checkbox]').attr('checked',false);
Похоже, removeAttr()
не может быть reset на form.reset()
.
Ответ 3
Вышеупомянутый ответ не сработал у меня -
Следующие работы
$('input[type=checkbox]').each(function()
{
this.checked = false;
});
Это гарантирует, что все флажки не отмечены.
Ответ 4
В некоторых случаях флажок может быть выбран по умолчанию. Если вы хотите восстановить выбор по умолчанию, а не установить как невыбранный, сравните свойство defaultChecked
.
$(':checkbox').each(function(i,item){
this.checked = item.defaultChecked;
});
Ответ 5
Я использовал это раньше:
$('input[type=checkbox]').prop('checked', false);
кажется, что .attr и .removeAttr не работают в некоторых ситуациях.
Ответ 6
$(":checkbox:checked").each(function () {
this.click();
});
чтобы снять флажок, поверните свою логику, чтобы сделать наоборот
Ответ 7
Как сказано в Ответ Tatu Ulmanen, используя следующий script выполнит работу
$('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);
});
Ответ 8
Вы можете выбрать, какой div или часть вашей страницы могут быть отмечены флажками, а какие нет. Я наткнулся на сценарий, где у меня две формы на моей странице, и у меня есть предварительно заполненные значения (для обновления), а другие нужно заполнить свежей.
$('#newFormId input[type=checkbox]').attr('checked',false);
это будет делать только флажки в форме с id newFormId как непроверенные.
Ответ 9
Я использовал что-то вроде этого
$(yourSelector).find('input:checkbox').removeAttr('checked');
Ответ 10
<!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>
Ответ 11
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; });
Чтобы сделать обратное, см. Выбрать все флажки по идентификатору/классу