Как получить значение флажка из определенной ячейки в строке таблицы, используя jQuery?

У меня есть таблица, которая содержит несколько флажков в каждой строке. Мне нужно получить значение каждого отдельного флажка. Я смог сделать что-то вроде следующего, чтобы получить значение флажка в первом столбце таблицы...

$('#myTable tbody tr td:first-child input:checkbox').each(function() {
        if (this.checked) {
            //Do something
        }
    });

Но теперь мне нужно перебрать каждую строку и получить значение каждого отдельного флажка. Это то, что я пробовал для определенного флажка...

if($(this).find(':input[type="checkbox"]').eq(0).attr('checked')) {
            myVariable = 'so and so';
        }
        else {
            myVariable = 'something else';
        }

Который не работает. Любые предложения о том, как я могу получить это работает?

2 ответа

Ваш вопрос не так ясен, однако, исходя из вашего второго примера, я предполагаю, что "this" - это tr. Ниже показано, как получить первый флажок внутри строки и проверить, если он установлен

if ( $(this).find('input:checkbox:first').is(':checked') ) {...}

Итерировать все флажки в строке

$(this).find('input:checkbox').each( function(){...}

Итерировать все отмеченные флажки в строке

   $(this).find('input:checkbox:checked').each( function(){...}

Почему бы не удалить td:first-child от вашего селектора?

$('#myTable tbody tr  input:checkbox').each(function() {
    if (this.checked) {
        //Do something
    }
});

Или, если вы хотите как-то сгруппировать флажки по ряду:

$('#myTable tbody tr').each(function() {
    $(this).find('input:checkbox:checked').each(function() {
        //..
    });
});
Другие вопросы по тегам