Fadein / Fadeout Div на флажок выбрать / снять флажок - PullRequest
0 голосов
/ 24 октября 2009

Я пытаюсь вызвать меню, когда установлен какой-либо флажок, как вы можете видеть на скриншоте ниже, он показывает количество выборов, и меню также исчезает, когда ни один не выбран.

alt text

Я могу вызвать меню с этим кодом

$("input[name='id[]']").focus(function(){
    $("#menu").fadeIn();
});

Однако я не знаю, как скрыть это, когда флажки сняты, и как подсчитать количество выборов.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 24 октября 2009

Когда вы установите флажок, будет активировано событие фокуса или щелчка. Вы можете считать отмеченные флажки с

$("input:checked").length;

Если вы используете этот номер, чтобы скрыть свое меню, это должно быть возможно:

$("input[name='id[]']").click(function(){
   if($("input:checked").length > 0) { //checked boxes?
      if($("#menu:visible").length == 0) { //menu not visible?
          $("#menu").fadeIn();
      }
   } else {
      $("#menu").fadeOut();
   }
});
0 голосов
/ 24 октября 2009
$("input[name='id[]']").focus(function(){
   if ($(this).is(':checked')){
     $("#menu").fadeIn();
    }else{
     $("#menu").fadeOut();
    }
});

Это должно делать то, что вам нужно,

EDIT:

Ваш селектор, похоже, не в порядке. Вы должны сделать это более конкретным. например:

если он начинается с id [вы можете сделать это следующим образом:

$("input[name^=id\\[]")

это будет включать все поля ввода, их имена начинаются с 'id [' и '\', это для экранирования этого '['.

Надеюсь, это поможет, Синан.

0 голосов
/ 24 октября 2009

Для подсчета количества выборов вы можете использовать:

$("input[type='checkbox']:checked").length;

Так ..

$("input[type='checkbox']").click(function(){
  if ($("input[type='checkbox']:checked").length < 1)
    $("#menu").hide();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...