Toggle Visibility Of Elements Based On Select - jQuery Toggler
| File Size: | 6.16 KB | 
|---|---|
| Views Total: | 650 | 
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website | 
| License: | MIT | 
 
Toggler is a small jQuery content toggle plugin that conditionally shows & hides HTML elements depending on the value in a select dropdown.
How to use it:
1. Download and place the minified version of the toggler plugin after jQuery.
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" 
        integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" 
        crossorigin="anonymous"></script>
<script src="jquery.toggler.js"></script>
2. Create elements you want to toggle the visibility.
- data-toggle-condition: selector of the select element
- data-toggle-value: conditionally show/hide the element base on this value
<div class="conditional" 
     data-toggle-condition="demo" 
     data-toggle-value="jqueryscript">
     jQueryScript.net
</div>
<div class="conditional" 
     data-toggle-condition="demo" 
     data-toggle-value="cssscript">
     CSSScript.com
</div>
3. Create a select element to toggle the visibility of the elements you specify.
<select name="demo" id="demo" data-toggler="demo"> <option>--- Select An Option ---</option> <option value="jqueryscript">jQuery</option> <option value="cssscript">CSSScript</option> </select>
4. Hide the elements on page load.
.conditional {
  display: none;
}
5. Call the function and done.
$('[data-toggler]').toggler();
6. Customize the toggler & solver functions.
<div class="conditional" 
     data-toggle-condition="demo" 
     data-toggle-value="cssscript"
     data-toggle-solver="yourSolver"
     data-toggle-function="yourToggler">
     CSSScript.com
</div>
$('[data-toggler]').toggler({
  solvers: {
    value: function(el, param, item, opts) {
      var val = el.val();
      return $.isArray(param) ? param.indexOf(val) >= 0 : param == val;
    },
    valueNot: function(el, param, item, opts) {
      var val = el.val();
      return !opts.solvers.value(el, param, item, opts);
    },
    oneOf: function(el, param, item, opts) {
      var ret = false,
        conditions = item.data('toggle-condition').split('|');
      if (conditions) {
        var value = item.data('toggle-value');
        for (var i = 0; i < conditions.length; i++) {
          var condition = conditions[i],
            element = $('[data-toggler=' + condition + ']');
          if ( element.val() == value ) {
            ret = true;
          }
        };
      }
      return ret;
    }
  },
  togglers: {
    display: function(el, toggle, opts) {
      el.css('display', toggle ? 'block' : 'none');
    },
    enabled: function(el, toggle, opts) {
      el.prop('disabled', !toggle);
    }
  }
});
This awesome jQuery plugin is developed by biohzrdmx. For more Advanced Usages, please check the demo page or visit the official website.











