Как получить значение флажка из определенной ячейки в строке таблицы, используя 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() {
//..
});
});