Back to October

Input Trigger

modules/system/assets/toolbox/controls/input-trigger/README.md

4.3.01.7 KB
Original Source

Input Trigger

Shows, hides, enables, or disables elements based on the state of other form elements. Supports checkbox/radio checked states and input value matching with wildcards.

Basic Usage

Checked Condition

html
<input type="checkbox" id="myCheckbox" />
<button class="btn disabled"
    data-trigger-action="enable"
    data-trigger="#myCheckbox"
    data-trigger-condition="checked">
    Check the checkbox to enable
</button>

Value Condition

html
<input type="text" id="myInput" onkeyup="$(this).trigger('change')" />

<div
    data-trigger-action="show"
    data-trigger="#myInput"
    data-trigger-condition="value[foo][bar]">
    Visible when input is "foo" or "bar"
</div>

JavaScript API

js
$('#mybutton').triggerOn({
    triggerCondition: 'checked',
    trigger: '#cblist input[type=checkbox]',
    triggerAction: 'enable'
})

Data Attributes

AttributeDescription
data-triggerCSS selector for the trigger element(s)
data-trigger-actionAction(s): show, hide, enable, disable, empty, fill[value]. Pipe-delimited for multiple: hide|empty
data-trigger-conditionCondition: checked, unchecked, or value[val1][val2] with wildcard support
data-trigger-closest-parentCSS selector for a common parent scope

Events

EventDescription
oc.triggerOn.updateTrigger on the element to force a condition re-check
oc.triggerOn.afterUpdateFired after the element is updated
hide.oc.triggerapiFired when visibility changes
disable.oc.triggerapiFired when enabled/disabled state changes
fill.oc.triggerapiFired when fill action executes
empty.oc.triggerapiFired when empty action executes