jquery条件可见性

时间:2011-04-06 01:52:06

标签: jquery visibility

我有一个场景,我需要在一组输入字段中的任何一个包含值时显示一组按钮,并在所有输入字段为空时隐藏按钮。

除了将一些代码附加到输入字段的焦点事件以检查其内容并相应地显示/隐藏之外,无法想出一种优雅的方法。

有更好的方法吗?

感谢

2 个答案:

答案 0 :(得分:2)

$(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/

答案 1 :(得分:2)

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/