jQuery - 将类添加到选中/选中的复选框

时间:2014-11-21 01:54:57

标签: jquery html

我需要做一些相当基本的事情,检查一个复选框是否为checked,如果它已经是一个类,应该加入它,这样我就可以应用一些样式。

<form action='' method='POST'>
    <input type="checkbox" name="checkbox[]">User1
    <input type="checkbox" name="checkbox[]">User2
</form>

问题是我不知道如何确定是否在jQuery中检查了一个复选框。

var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;
if (atLeastOneIsChecked) {
  $('tr > td').addClass('colorify');
}

JSFiddle

3 个答案:

答案 0 :(得分:2)

您需要在.change.click处理程序中运行代码以获取该复选框。然后,您可以使用this.checked来测试是否选中了该复选框。然后使用DOM遍历函数查找该行中的td元素并应用该类。

$('input[name="checkbox[]"]').change(function () {
    $(this).closest('tr').find('td').toggleClass('colorify', this.checked);
});

我已使用toggleClass,以便在没有任何复选框的情况下删除该课程。

Updated JSFiddle

答案 1 :(得分:0)

我使用这个javascript。因此,如果选中复选框,则会将类colorify添加到tr

$("input[type='checkbox']").change(function(){
    if (this.checked)
    {
        $(this).parents("tr").addClass('colorify');
    }
    else
    {
        $(this).parents("tr").removeClass('colorify');
    }
});

答案 2 :(得分:0)

以下内容可以解决您的问题:

function updateRowColor() {
    $(this).closest('tr').find('td').toggleClass('colorify', this.checked);
}

// Update on page load
$('input:checked').each(updateRowColor);

// Listen for change on the element
$('input').on('change', updateRowColor);