Chapter 5. Working with Forms
Form Data Bindings
Knockout provides several different bindings that work with specific form elements.
- The
value
binding is used withinput
,select
, andtextarea
form inputs. - The
textInput
binding is also used withinput
andtextarea
and is quite similar to thevalue
binding. When thetextInput
is used, the observable updates with every user interaction, as opposed to thevalue
binding, which defaults to updating when the form element changes (typically when the field loses focus). See Example 5-1. - The
checked
binding is used with checkboxes and radio buttons. - The
options
binding is used on theselect
form input to populate the list of options available in the drop-down list. - The
selectedOptions
binding is also used with theselect
form input; more specifically when you are using a multiselect list. This is commonly bound to an observable array, as opposed to an observable variable. - The
enable
anddisable
bindings work with all form inputs to either enable or disable the form element when the condition results to true or false, respectively.
All of these bindings are what Knockout calls two-way bindings. This means that when the form element is changed, your ViewModel property is updated and if you programmatically change the observable, the form element it is binded to will be automatically updated.
Example 5-1. The textInput binding
<!DOCTYPE html>
<html>
<head>
<title>
Data Binding with KnockoutJS</title>
</head>
<body>
<textarea
data-bind= ...
Get Knockout.js now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.