-
Notifications
You must be signed in to change notification settings - Fork 0
/
knockoutEx8_vmodel.js
executable file
·88 lines (78 loc) · 2.49 KB
/
knockoutEx8_vmodel.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*
* アプリケーションの View Model.
*/
define(['knockout','jquery'], function(ko,$) {
return function appViewModel() {
var self = this;
// Click Binding Example
self.msgClick = ko.observable("");
self.divClick = function (data, event) {
self.msgClick("div " + (event.shiftKey ? "+Shift" : ""));
};
self.aClick = function (data, event) {
self.msgClick("link " + (event.shiftKey ? "+Shift" : ""));
};
self.btnClick = function (data, event) {
self.msgClick("button " + (event.shiftKey ? "+Shift" : ""));
};
// Event Binding Example
self.msgEvent = ko.observable("");
self.mouseIn = function (data, event) {
self.msgEvent("Welcome");
};
self.mouseOut = function (data, event) {
self.msgEvent("");
};
// Submit Binding Example
self.msgSubmit = ko.observable("");
self.submit = function (formElement) {
self.msgSubmit($(formElement).serialize());
return false;
};
// Enable/disable Binding Example
self.acceptCheck = ko.observable("decline");
// Value Binding Example
self.txtValue1 = ko.observable("");
self.txtLength1 = ko.computed(function(){
return self.txtValue1().length;
});
self.txtValue2 = ko.observable("");
self.txtLength2 = ko.computed(function(){
return self.txtValue2().length;
});
// Text Input Binding Examle
self.txtValue3 = ko.observable("");
self.txtLength3 = ko.computed(function(){
return self.txtValue3().length;
});
// Hasfocus Binding Example
self.focusValue = ko.observable("");
self.isFocused = ko.observable(false);
self.focusClick = function(){
if (self.focusValue() === '') {
self.isFocused(true);
} else {
alert(self.focusValue());
}
}
// Checked Binding Example
self.chkOk = ko.observable(false);
self.chkFruits = ko.observableArray();
self.radEat = ko.observable("Juce");
self.chkOrder = function() {
$( "#dialog" )
.dialog( "option" , { title : self.radEat() })
.dialog( "open" );
}
// Options/SelectOptions Binding Example
self.selFruitsOptions = ko.observableArray(['Apple','Banana','Grape']);
self.selFruits = ko.observableArray(['Apple']);
self.selEatOptions = ko.observableArray(['Juce','Cocktail','Pie']);
self.selEat = ko.observable();
self.selOrder = function() {
$( "#dialog2" )
.dialog( "option" , { title : self.selEat() })
.dialog( "open" );
}
};
});