如何仅定位已选中的复选框

时间:2017-06-19 10:41:36

标签: jquery checkbox

我创建了已检查输入标签的克隆并将其输出到标题区域。这是预期的,直到表单提交(它使用AJAX)。我想搜索在提交表单时检查的任何输入,然后重新创建它们的克隆。

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

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

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

3 个答案:

答案 0 :(得分:2)

checked selector

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

答案 1 :(得分:0)

你可以这样做:

data

答案 2 :(得分:0)

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

$(":checkbox:checked")