我的页面中有许多复选框。我想编写一个在单击ckeckbox时调用的函数,该函数确定是否选中了复选框。
<input type="checkbox" onclick="toggleVis('id', this);"/> ID
<input type="checkbox" onclick="toggleVis('edit', this);" checked="checked"/> Edit
<input type="checkbox" onclick="toggleVis('last', this);"/> Last
请注意,一些复选框已开始检查。
我认为必须有一种方法可以根据传递的引用执行此操作,因此我将此值作为参数传递。
function toggleVis(name, checkbox)
{
//if(checkbox.checked())
console.log('checked');
if($('.'+name).css('display') != "none")
$('.'+name).css('display', 'none');
else
$('.'+name).css('display', 'table-cell');
}
我愿意使用jQuery。
答案 0 :(得分:1)
你很亲密。
if(checkbox.checked) {
console.log('checked');
//...
}
没有checked()
方法,但有checked
属性。请注意,您的代码可能仅适用于点击。也许onchange
会更好?
答案 1 :(得分:1)
查看checkboxobj.checked
属性(而不是像函数一样调用它)。在您的情况下,您可以参考if (checkbox.checked) { ... }
。可以找到更多信息on this website
答案 2 :(得分:1)
如果您想使用jQuery执行此操作,可以尝试以下操作。请注意,我绑定到复选框,而不是直接在HTML元素上包含'onclick'或'onchange'。
$('[type=checkbox]').click(function(){
if( $(this).attr('checked') ){
console.log('checked');
if($('.'+$(this).attr('name')).css('display') != "none") {
$('.'+$(this).attr('name')).css('display', 'none');
} else {
$('.'+$(this).attr('name')).css('display', 'table-cell');
}
}
});
答案 3 :(得分:0)
基于JQuery的解决方案:
var checked = $(checkbox).is(':checked');
如果您想首先通过某个JQ选择器找到该复选框,将会很有帮助。
答案 4 :(得分:0)
<input type="checkbox" class="checkthis"> ID
<input type="checkbox" class="checkthis" checked="checked"> Edit
<input type="checkbox" class="checkthis"> Last
$(input.checkthis).click(function() {
if($(this).is(':checked') {
// do checked stuuf
} else {
// do not checked stuff
}
});