我正在创建已检查输入标签的克隆并将它们输出到标头区域中。在提交表单之前,这正在按预期工作(它使用 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")