, . , json- .
, select DOM value ( ). ( ), <option> selectedIndex , value.
, , Sys.Binding ( ):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">.sys-template {display:none}</style>
<script src="MicrosoftAjax.debug.js"></script>
<script src="MicrosoftAjaxTemplates.debug.js"></script>
<script type="text/javascript">
var dataItem = { Foo: '3' };
function pageLoad()
{
$create(Sys.Binding, {
target: $get("list"),
targetProperty: 'value',
source: dataItem,
path: 'Foo',
mode: Sys.BindingMode.twoWay
});
}
</script>
</head>
<body>
<select id="list">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</body>
</html>
, :
<body xmlns:sys="javascript:Sys"
xmlns:binding="javascript:Sys.Binding"
sys:activate="*">
<select id="list"
sys:attach="binding"
binding:target="{{ $get('list') }}"
binding:targetproperty="value"
binding:source="{{ dataItem }}"
binding:path="Foo">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
(, , JavaScript pageLoad...)
dataItem. , , <option>, , dataItem.Foo. , dataItem.Foo .
, !