Отменить выбор группы переключателей с помощью jQuery

Я использую jQuery, и у меня есть группа переключателей с одинаковым именем, но разными свойствами значения.

Например:

<input type = "radio" name = "thename" value="1"></input>
<input type = "radio" name = "thename" value="2"></input>
<input type = "radio" name = "thename" value="3"></input>

Я хочу сделать так, чтобы они все не были выбраны. В текущем состоянии моей страницы один из них нажат. Как мне это сделать?


person Carl    schedule 12.08.2011    source источник


Ответы (10)


Начиная с jQuery 1.6, $("radio").prop("checked", false); является рекомендуемым методом.

person Dave Kiss    schedule 12.08.2011
comment
извините, это не работает для меня. Я пробовал. Кроме того, что, если бы у меня были другие радиоэлементы на странице, и я не хотел бы применять к ним такое поведение? - person Carl; 12.08.2011
comment
просто попробуйте изменить селектор. что-то вроде $("input[name='thename']") - person Dave Kiss; 12.08.2011

$("input:radio[name='thename']").each(function(i) {
       this.checked = false;
});

не уверен, почему поддержка jquery не работает, и это работает...

person Bogdan M    schedule 05.09.2012
comment
Хорошее обсуждение jQuery prop() здесь - person steveax; 22.09.2012

Попробуйте использовать это: $('input[type="radio"]').prop('checked', false);

С помощью метода jQuery prop можно изменять свойства элементов (проверено, выбрано и т. д.).

person Kyle    schedule 12.08.2011
comment
Это сработало, когда я добавил еще одну одинарную кавычку после закрывающей скобки --- $('input[type=radio]').prop('checked', false); - person Jim Evans; 04.12.2013
comment
@ДжимЭванс Спасибо. Я не уверен, почему я не видел этого до сих пор. Я отредактировал ответ, чтобы иметь заключительную цитату. - person Kyle; 05.12.2013

Ответ, опубликованный @matzahboy, сработал отлично.

Пробовал другие способы, но этот сработал лучше всего:

$(input[name=thename]).removeAttr('checked');
person viniciusalvess    schedule 18.08.2013

Попробуйте следующий код:

$(input[name=thename]).removeAttr('checked');
person matzahboy    schedule 12.08.2011
comment
Не сработало, но оба сработали: $(input:radio[name='thename']).removeAttr('checked'); $([name='thename']).removeAttr('checked'); Окружающие галочки необязательны. - person Loren; 11.09.2019

Это простой и общий ответ (я думаю): $("input[name=NAME_OF_YOUR_RADIO_GROUP]").prop("checked",false);

Для этого конкретного вопроса я бы использовал:

$("input[name=thename]").prop("checked",false);

Надеюсь это поможет

person JimmyH    schedule 19.12.2016

это сработало для меня;

$('input[name="radioName"]').attr('checked', false);
person Baqer Naqvi    schedule 18.07.2017

Это просто и работает для меня.

Попробуйте это:

$('input:radio[name="gender"]').attr('checked',false);

Попробуйте это:

$('input[name="gender"]').prop('checked', false);
person Rakhal Raj Mandal    schedule 11.09.2019

function resetRadio(name) {
    $('#form input:radio[name=' + name + ']:checked').each(function () {
        var $this = $(this);
        $this.prop("checked", false);
    });
}

$('#form input:radio').on('dblclick', function () {
    var $this = $(this);
    var name = $this.prop('name');
    resetRadio(name);
});

Это позволяет вам дважды щелкнуть радио, чтобы сбросить их.

person Pablo Uribe A.    schedule 12.02.2015

Чтобы отменить выбор всех радиостанций группы под названием «namegroup», попробуйте следующее:

$("input[type=radio][name=namegroup]").prop("checked", false);
person nonide    schedule 04.11.2015