The enable binding
The enable
binding causes the associated DOM element to be enabled only when the parameter value is true
. This is useful with form elements like input
, select
, and textarea
.
Example¶
<p> <input type='checkbox' data-bind="checked: hasCellphone" /> I have a cellphone </p> <p> Your cellphone number: <input type='text' data-bind="value: cellphoneNumber, enable: hasCellphone" /> </p>
var viewModel = { hasCellphone : fw.observable(false), cellphoneNumber: "" }; fw.applyBindings(viewModel);
In this example, the "Your cellphone number" text box will initially be disabled. It will be enabled only when the user checks the box labelled "I have a cellphone".
Parameters¶
-
Main parameter: A value that controls whether or not the associated DOM element should be enabled.
-
Non-boolean values are interpreted loosely as boolean. For example,
0
andnull
are treated asfalse
, whereas21
and non-null
objects are treated astrue
. -
If your parameter references an observable value, the binding will update the enabled/disabled state whenever the observable value changes. If the parameter doesn't reference an observable value, it will only set the state once and will not do so again later.
-
-
Additional parameters
- None
Tip
You can use arbitrary JavaScript expressions. You're not limited to referencing variables. For example:
<button data-bind="enable: parseAreaCode(viewModel.cellphoneNumber()) != '555'"> Do something </button>