MVVM with Knockout

What is Knockout?

Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably. Knockout framework is based on the MVVM design pattern.

What is MVVM?

Model-View-View Model (MVVM) is a design pattern for building user interfaces. It splits the User Interface into three conceptual parts:

How to use jQWidgets with Knockout?

The integration of jQWidgets with Knockout is done via a plug-in called jqxKnockout(jqxknockout.js). In addition, the jqxDataAdapter plug-in supports binding to the Knockout's observableArray and it automatically detects and responds to changes in the observableArray and updates the data bound UI widget(Grid, Chart, ListBox, ComboBox or DropDownList).

Integration Examples with Knockout:

jqxKnockout

In this help topic are listed the properties defined in the jqxKnockout plug-in. These properties support two way data binding.
jqxGrid
Property Name Type
disabled observable
source observableArray
jqxChart
Property Name Type
source observableArray
jqxCalendar
Property Name Type
value observable
disabled observable
jqxCheckBox
Property Name Type
checked observable
disabled observable
jqxComboBox
Property Name Type
disabled observable
source observableArray
selectedIndex observable
jqxDropDownList
Property Name Type
disabled observable
source observableArray
selectedIndex observable
jqxListBox
Property Name Type
disabled observable
source observableArray
selectedIndex observable
jqxDateTimeInput
Property Name Type
disabled observable
value observable
jqxGauge
Property Name Type
disabled observable
min observable
max observable
value observable
jqxSlider
Property Name Type
disabled observable
min observable
max observable
value observable

jqxScrollBar
Property Name Type
disabled observable
min observable
max observable
value observable
jqxRadioButton
Property Name Type
checked observable
disabled observable
jqxNumberInput
Property Name Type
disabled observable
value observable
jqxMaskedInput
Property Name Type
disabled observable
value observable
jqxProgressBar
Property Name Type
disabled observable
value observable
jqxMenu
Property Name Type
disabled observable
source observableArray
jqxTree
Property Name Type
disabled observable
source observableArray
jqxInput
Property Name Type
disabled observable
source observableArray
value observable
jqxWindow
Property Name Type
content observable
title observable