我有链接,点击后,选中所有复选框或取消选中它们。
我还有一个下拉列表,只有在选中至少一个复选框时才能使其显示。
这样做的最佳方式是什么?
我应该在选择/删除它们的代码中写入登录还是有更好的方法来执行此操作?
答案 0 :(得分:1)
我会有一个设置下拉列表可见性的函数。我会从每个复选框的点击处理程序和链接的处理程序中调用此函数 - 我假设您的链接处理程序不仅仅在每个框上触发单击事件,而是设置它的状态。除非您有其他行为触发触发,否则每个复选框上的click事件将非常昂贵。在设置了visiblity的函数中,使用测试来查看复选框的数量是否大于0作为可见性的新状态。
function setDDVisibility() {
var isVisible = $('.checkbox-class-selector:checked').length > 0;
if (isVisible) {
$('#ddl').show();
}
else {
$('#ddl').hide();
}
}
$('.checkbox-class').click( function() {
... do stuff ...
setDDVisibility();
return false;
});
$('.link-selector').click( function() {
...set up checkboxes...
setDDVisibility();
return false;
});