условная видимость - PullRequest
       9

условная видимость

4 голосов
/ 06 апреля 2011

У меня есть сценарий, в котором мне нужно показывать связку кнопок только тогда, когда ЛЮБОЙ из группы полей ввода содержит значение, и скрывать кнопки, когда ВСЕ поля ввода пусты.

Невозможно придумать элегантный способ сделать это, кроме как прикрепить некоторый код к событию focus полей ввода, чтобы проверить их содержимое и показать / скрыть соответственно.

Есть ли лучший способ сделать это?

спасибо

Ответы [ 2 ]

2 голосов
/ 06 апреля 2011

HTML

<form id="myForm">
    <input .../>
    <select .../>
    <!-- etc. -->
</form>

JavaScript

$(function ()
{
    var $myForm = $('#myForm'),
        $inputs = $myForm.find('input, select'),
        $buttons = $('select a bunch of buttons');

    $myForm.change(function ()
    {
        $buttons.toggle(!!$inputs.filter(function ()
        {
            // NB, using .val() won't work for checkboxes
            return !!$(this).val();
        }).length);
    }).change();
});

http://jsfiddle.net/mattball/BjQaZ/

2 голосов
/ 06 апреля 2011
$(function(){

   var $fields = $('input[type=text]'),
       $btn = $('#btnid'),
       i;

   $btn.hide();

   $fields.blur(function(){
      for(i = 0; i < $fields.length; i++){
         if($fields[i].value != '') {
            $btn.show();
            return;
         }
      }
      $btn.hide();
   });
});

http://jsfiddle.net/crVeA/3/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...