使用jQuery,只有在选中至少1个复选框时才能看到Dropdownlist

时间:2010-02-02 22:24:19

标签: javascript jquery

我有链接,点击后,选中所有复选框或取消选中它们。

我还有一个下拉列表,只有在选中至少一个复选框时才能使其显示。

这样做的最佳方式是什么?

我应该在选择/删除它们的代码中写入登录还是有更好的方法来执行此操作?

1 个答案:

答案 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;
});