JSFiddle - React, Tailwind, and code Playground
by rainymaple
HTML
<script src="http://github.com/downloads/SteveSanderson/knockout/knockout-2.1.0.js"></script>
<div id="main">
<!--enable / disable-->
<tr>
<td>
<div class="caption">enable</div>
</td>
<td>
<input type="checkbox" data-bind="checked: allowEditing"/>
<input type="text" data-bind="enable: allowEditing, value: salePrice"/>
</td>
<td><span>allowEditing: </span><span data-bind="text: allowEditing"></span></td>
</tr>
<tr>
<td>
<div class="caption">disable</div>
</td>
<td>
<input type="checkbox" data-bind="checked: isReadOnly"/>
<input type="text" data-bind="disable: isReadOnly, value: salePrice"/>
</td>
<td><span>isReadOnly: </span><span data-bind="text: isReadOnly"></span></td>
</tr>
</div>
CSS
em{font-weight:bold;}
@font-face {
font-family: 'SansationRegular';
src: url('../fonts/Sansation_Regular-webfont.eot');
src: url('../fonts/Sansation_Regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/Sansation_Regular-webfont.woff') format('woff'),
url('../fonts/Sansation_Regular-webfont.ttf') format('truetype'),
url('../fonts/Sansation_Regular-webfont.svg#SansationRegular') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'SansationLight';
src: url('../fonts/Sansation_Light-webfont.eot');
src: url('../fonts/Sansation_Light-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/Sansation_Light-webfont.woff') format('woff'),
url('../fonts/Sansation_Light-webfont.ttf') format('truetype'),
url('../fonts/Sansation_Light-webfont.svg#SansationLight') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'SansationBold';
src: url('../fonts/Sansation_Bold-webfont.eot');
src: url('../fonts/Sansation_Bold-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/Sansation_Bold-webfont.woff') format('woff'),
url('../fonts/Sansation_Bold-webfont.ttf') format('truetype'),
url('../fonts/Sansation_Bold-webfont.svg#SansationBold') format('svg');
font-weight: normal;
font-style: normal;
}
body {padding : 10px; }
body, input, select {font: 14px 'Segoe UI', 'SansationRegular', Arial, sans-serif;}
.page {
}
.showroom {
}
.header
{
margin-bottom: 20px;
}
span {
/*font: 12px 'SansationRegular', 'Segoe UI', Arial, sans-serif;*/
margin: 0 4px 0 4px;
color: black;
}
/*
ul li span {
float: left;
width: 40px;
}
*/
.alignedCaption {
float: left;
width: 40px;
}
/*.text*/
.textValues {
margin: 0 4px 0 4px;
color: rgb(47, 123, 163);
}
.caption {
/*font: 12px 'SansationBold', 'Segoe...
JavaScript
var my = {}; //my namespace
my.viewmodel = {
metadata: {
pageTitle: "Knockout: Built-In Bindings (enable and disable)",
personal: {
link: "http://twitter.com/john_papa",
text: "@john_papa"
}
},
// text/html
id: ko.observable("123"),
model: {
code: ko.observable("314ce"),
name: ko.observable("Taylor 314 ce")
},
// value & valueUpdate
salePrice: ko.observable(1995),
// enable & disable
isReadOnly: ko.observable(false),
allowEditing: ko.observable(false)
};
ko.applyBindings(my.viewmodel);