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.











