Purpose
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <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> <script type= "text/javascript" > var viewModel = { hasCellphone : ko.observable( false ), cellphoneNumber: "" }; </script> |
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
Note: Using arbitrary JavaScript expressions
You’re not limited to referencing variables - you can reference arbitrary expressions to control an element’s enabledness. For example,
1 2 3 | <button data-bind= "enable: parseAreaCode(viewModel.cellphoneNumber()) != '555'" > Do something </button> |
Dependencies
None, other than the core Knockout library.
Please login to continue.