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

JQuery: снимите отметку с другого флажка на одном флажке

У меня есть общий флажок 6 (может быть добавлен еще больше в будущем), и я хочу разрешить только его выбирать, поэтому, когда пользователь проверяет, какой-либо из них должен быть снят, следует отключить.

Я попытался с этим кодом и отлично работает, если я определил ID, но теперь просто задаюсь вопросом, как сделать его наоборот, так что в будущем, если я добавлю больше, чем это не проблема

$('#type1').click(function() {
     $('#type2').not('#type1').removeAttr('checked');
}); 

FYI, флажки не принадлежат друг другу и находятся в разных <td>

4b9b3361

Ответ 1

Привяжите обработчик change, затем просто снимите флажки всех флажков, кроме отмеченного:

$('input.example').on('change', function() {
    $('input.example').not(this).prop('checked', false);  
});

Здесь скрипка

Ответ 2

вы можете использовать класс для всех своих флажков и выполните следующие действия:

$(".check_class").click(function() {
  $(".check_class").attr("checked", false); //uncheck all checkboxes
  $(this).attr("checked", true);  //check the clicked one
});

Ответ 3

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

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

Ответ 4

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

$("[id*='type']").click(
function () {
var isCheckboxChecked = this.checked;
$("[id*='type']").attr('checked', false);
this.checked = isCheckboxChecked;
});

Чтобы сделать его еще более общим, вы также можете найти флажки с помощью общего класса, реализованного на них.

Модифицированная...

Ответ 5

Я думаю, что метод prop более удобен, когда речь заходит об атрибуте boolean. http://api.jquery.com/prop/

Ответ 6

$('.cw2').change(function () {
    if ($('input.cw2').filter(':checked').length >= 1) {
        $('input.cw2').not(this).prop('checked', false);
    } 
});


$('td, input').prop(function (){
    $(this).css({ 'background-color': '#DFD8D1' });
    $(this).addClass('changed');
});