Подтвердить что ты не робот

Немедленно снимите все радиоустройства JQuery

Использование функции набора кнопок jQ-ui

<script>
    $(function() {
        $( "#radio" ).buttonset();
    });
    </script>


    <div id="radio">
        <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
        <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
        <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
    </div>

Можно ли отключить сразу все переключатели набора кнопок?

4b9b3361

Ответ 1

Вы можете снять их с помощью следующего (обновлено для jQuery UI 1.9:

$('#radio input').removeAttr('checked');
// Refresh the jQuery UI buttonset.                  
$( "#radio" ).buttonset('refresh');
​

Работа JSFiddle.

Ответ 2

Вы можете сопоставить все переключатели и использовать prop(), чтобы снять флажок.

Однако после этого вы также должны обновить виджет набора элементов:

$("#radio").find("input:radio").prop("checked", false).end()
           .buttonset("refresh");

Ответ 3

Перед версией jQuery 1.6

$(':radio').attr('checked', false);  

ИЛИ

$(':radio').removeAttr('checked');

После jQuery 1.6 +

$(':radio').prop('checked', false);

ИЛИ

$(':radio').removeProp('checked');

Ответ 4

Обнаружено это случайно... с jQuery 1.9.1, используя имя класса для набора кнопок, все кнопки сначала были отключены. Еще не уверен, есть ли последствия для этого, но вам удобнее знать.

$( "div.myclass" ).buttonset();

<div id="myDiv" class="myclass">
    <input type="radio" name="myname" id="id1" value="1"><label for="id1">Label1</label>
    <input type="radio" name="myname" id="id2" value="2"><label for="id2">Label2</label>
    <input type="radio" name="myname" id="id3" value="3"><label for="id3">Label2</label>
</div>