Value绑定可以把ViewModel的某个属性绑定到DOM元素或某个UI组件的Value属性。当用户修改DOM元素或UI组件的值时,绑定的ViewModel的值也随之发生改名。同样,如果ViewModel的值发生变化,对应的UI也会发生变化。
注:Value绑定只可以用在支持Value属性的DOM元素或UI组件。支持Value绑定的元素有input,textarea和select, 支持value绑定的UI组件有AutoComplete, DropDownlist, ComboBox, DatePicker, TimePicker,NumbericTextBox和Slider.
如果你需要设置DOM元素或UI组件的文本或是HTML内容,请使用text和html绑定。
对于Checkboxes () 或 radio button()请使用checked绑定。

Input和textarea Value绑定

1 <div id="view">
2     <input data-bind="value: inputValue" />
3     <textarea data-bind="value: textareaValue"></textarea>
4 </div>
5 <script>
6 var viewModel = kendo.observable({
7     inputValue: "Input value",
8     textareaValue: "Textarea value"
9 });
10  
11 kendo.bind($("#view"), viewModel);
12 </script>

上面代码当调用bind方法后,input元素显示inputValue的值,而textarea显示textareaValue的值。 如果用户修改input或textarea的值,对应的inputValue和textareaValue也随之变化。

缺省情况下,Value绑定依赖于DOM 的change事件,也就是当DOM元素失去焦点时触发该事件,UI的变化实现对ViewModel的更新。然而可以通过修改data-value-update属性来使用不同的DOM事件,比如keyup或keypress事件(不可使用keydown事件,只是因为keydown事件DOM元素的value尚未发生变化)。

1 <div id="view">
2     <input data-value-update="keyup" data-bind="value: inputValue" />
3 </div>
4 <script>
5 var viewModel = kendo.observable({
6     inputValue: "Input value"
7 });
8  
9 kendo.bind($("#view"), viewModel);
10 </script>

Select元素绑定value

当Select元素使用了预定义的选项时,Kendo MVVM 将根据ViewModel的值把和ViewModel值相同的option选项设定为选中状态。

1 <select data-bind="value: selectedColor">
2     <option value="red">Red</option>
3     <option value="green">Green</option>
4     <option value="blue">Blue</option>
5 </select>
6 <script>
7 var viewModel = kendo.observable({
8     selectedColor: "green"
9 });
10  
11 kendo.bind($("select"), viewModel);
12 </script>

在本例中,第二个选项(Green)被选中,这是因为它的value和selectedColor相同。 UI修改选项也会更新selectedColor的值。 如果option元素没有定义value,那么使用option的text属性。

如果select支持多项选择,此时对应的ViewModel的属性也应该为一个数组。例如:

1 <select data-bind="value: selectedColors" multiple="multiple">
2     <option>Red</option>
3     <option>Green</option>
4     <option>Blue</option>
5 </select>
6 <script>
7 var viewModel = kendo.observable({
8     selectedColors: ["Blue","Green"]
9 });
10  
11 kendo.bind($("select"), viewModel);
12 </script>

 

Kendo UI开发教程(22): Kendo MVVM 数据绑定(十一) Value的更多相关文章

  1. Kendo UI开发教程(16): Kendo MVVM 数据绑定(五) Events

    本篇和Kendo UI开发教程(14): Kendo MVVM 数据绑定(三) Click类似,为事件绑定的一般形式.Events绑定支持将ViewModel的方法绑定到DOM元素的事件处理(如鼠标事 ...

  2. Kendo UI开发教程(9): Kendo UI Validator 概述

    Kendo UI Validator 支持了客户端校验的便捷方法,它基于HTML 5 的表单校验功能,支持很多内置的校验规则,同时也提供了自定义规则的便捷方法. 完整的Kendo UI 的Valida ...

  3. Kendo UI开发教程(6): Kendo DataSource 概述

    Kendo 的数据源支持本地数据源(JavaScript 对象数组),或者远程数据源(XML, JSON, JSONP),支持CRUD操作(创建,读取,更新和删除操作),并支持排序,分页,过滤,分组和 ...

  4. Kendo UI开发教程(7): Kendo UI 模板概述

    Kendo UI 框架提供了一个易用,高性能的JavaScript模板引擎.通过模板可以创建一个HTML片段然后可以和JavaScript数据合并成最终的HTML元素. Kendo 模板侧重于UI显示 ...

  5. Kendo UI开发教程(8): Kendo UI 特效概述

    Kendo UI Fx 提供了一个丰富,可扩展,性能经过优化的工具集合用来完成HTML元素的过渡显示.每种特效近可能的使用CSS Transition ,对于一些老版本浏览器使用修改属性的方法作为补充 ...

  6. Kendo UI开发教程(14): Kendo MVVM 数据绑定(三) Click

    Click绑定可以把由ViewModel定义的方法不绑定到目标DOM的click事件.当点击目标DOM元素时触发ViewModel的对应方法.例如: 使用Click绑定 1 <div id=&q ...

  7. Kendo UI开发教程(21): Kendo MVVM 数据绑定(十) Source

    Source绑定可以把ViewModel的值和由Kendo模板定义的目标元素绑定,如果ViewModel的值发生变化,被绑定的目标元素也随之发生变化.模板由属性data-template指定,它的值为 ...

  8. Kendo UI开发教程(20): Kendo MVVM 数据绑定(九) Text

    Text绑定可以使用ViewModel来设置DOM元素的文本属性,如果需要设置input,textarea,或select的显示,需要使用value属性. 1 <span data-bind=& ...

  9. [置顶] Kendo UI开发教程: Kendo UI 示例及总结

    前面基本介绍完Kendo UI开发的基本概念和开发步骤,Kendo UI的示例网站为http://demos.kendoui.com/ ,包含了三个部分 Web DemoMobile DemoData ...

随机推荐

  1. Mysql 的一些基本用法

    一.增加字段 COMMENT '是否导入基础信息平台 1 是导入'; 二.删除字段 alter table `provincestudentinfo` drop column NativePlace; ...

  2. N皇后( DFS,推荐)

    N皇后问题 Description   在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上.          你的任 ...

  3. Android 使用 array.xml

    //获取文件资源 TypedArray mainNavIcon = context.getResources().obtainTypedArray(R.array.mainNavIcon); //获取 ...

  4. php下正则表达式整理

    一.正则表达式的历史背景 1,内容深厚的正则表达式 ^.+@.+\\..+$ 形式 字符串搜索与匹配的工具 2,应用范围 手机输入法 Windows文件搜索 linux 列出文件命令 网站用户注册,如 ...

  5. Python 第十三篇之一:前端页面 js和dome

    一:JavaScript: JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的 ...

  6. sobel流水线操作Verilog程序

    sobel算子的verilog实现,采用了流水线操作 module sobel_computer ( clock , reset, OrigDataEn, //SobelAluEn, OrigData ...

  7. Firemonkey ListBoxItem自绘

    ListBoxItem1的事件ListBoxItem1Paint procedure TForm1.ListBoxItem1Paint(Sender: TObject; Canvas: TCanvas ...

  8. Android 开发中eclipse 下 DDMS 视图中 sdcard 中文件导入的处理

    首先需要说明下,这里说的sdcard的权限并不是指在Android application程序中设置sdcard的权限读 取问题.而是指在DDMS看到的目录下的那个sdcard目录的权限问题.     ...

  9. 基于visual Studio2013解决C语言竞赛题之0417四倍数

       题目 解决代码及点评 这道题目还是考察循环,通过循环遍历1234~9876,然后将每个数都用算法判断其是否符合条件#include <stdio.h> #include ...

  10. sizeof与strlen的区别 浅谈

    1.sizeof operator sizeof是C语言的一种单目操作符,如C语言的其他操作符++.- - 等,它并不是函数. Queries size of the object or type. ...