如何仅定位选中的复选框



我正在创建已检查输入标签的克隆并将它们输出到标头区域中。在提交表单之前,这正在按预期工作(它使用 AJAX(。我想搜索提交表单时检查的任何输入,然后重新创建它们的克隆。

以下代码的问题在于,无论是否检查输入,它都会为每个输入(所有输入都使用相同的类(创建一个克隆。我认为这是因为if内的东西针对所有元素,而不仅仅是被检查的元素。当我在if中使用$(this)时,它似乎不仅仅指选中的元素,而是一个对象。

如何将 if 语句中的内容仅应用于选中的复选框?

if ($('.my-input').is(':checked')) {
  $('.my-input').next('label').clone().appendTo('.my-header');
  $('.my-input').next('label').addClass('is-checked');
}

selector $('.my-input:checked')中使用checked

$('.my-input:checked').each(function() {
     $(this).next('label').clone().appendTo('.my-header');
     $(this).next('label').addClass('is-checked');
});

你可以做这样的事情:

$('.my-input:checked').each(function() {
    //do something
});
您可以

执行此操作以获取所有选中的复选框

$(":checkbox:checked")

最新更新