我需要做一些相当基本的事情,检查一个复选框是否为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');
}
答案 0 :(得分:2)
您需要在.change
或.click
处理程序中运行代码以获取该复选框。然后,您可以使用this.checked
来测试是否选中了该复选框。然后使用DOM遍历函数查找该行中的td
元素并应用该类。
$('input[name="checkbox[]"]').change(function () {
$(this).closest('tr').find('td').toggleClass('colorify', this.checked);
});
我已使用toggleClass
,以便在没有任何复选框的情况下删除该课程。
答案 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);