开发者

jquery conditional visibility

I have a scenario where I need to show a bunch of buttons only when ANY of a group of input fields contains a value and hide the buttons when ALL of the input fields are empty.

Can't come up with an elegant way to do that other than by attaching some code 开发者_如何学Pythonto the focus event of the input fields to check their content and show/hide accordingly.

Is there a better way to do this?

thanks


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/


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜