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 and null are treated as false, whereas 21 and non-null objects are treated as true.

    • 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>