入门
监控属性
使用内置绑定
控制文本和外观
绑定逻辑控制
处理表单属性
click
绑定event
绑定submit
绑定enable
绑定disable
绑定value
绑定hasfocus
绑定checked
绑定options
绑定selectedOptions
绑定uniqueName
绑定
解析模板
高级应用
插件
更多信息
"enable" 绑定
目的
enable
绑定使DOM元素只有在参数值为 true
的时候才启用。在form表单元素 input
, select
, 和 textarea
上非常有用。
The enable
binding causes the associated DOM element to be enabled only when the parameter value is true
. This is useful with form elements like input
, select
, and textarea
.
例子
<p>
<input type='checkbox' data-bind="checked: hasCellphone" />
I have a cellphone
</p>
<p>
Your cellphone number:
<input type='text' data-bind="value: cellphoneNumber, enable: hasCellphone" />
</p>
<script type="text/javascript">
var viewModel = {
hasCellphone : ko.observable(false),
cellphoneNumber: ""
};
</script>
这个例子里,“Your cellphone number”后的text box 初始情况下是禁用的,只有当用户点击标签 “I have a cellphone”的时候才可用。
In this example, the “Your cellphone number” text box will initially be disabled. It will be enabled only when the user checks the box labelled “I have a cellphone”.
参数
- 主参数
声明DOM元素是否可用enabled。
A value that controls whether or not the associated DOM element should be enabled.
非布尔值会被解析成布尔值。例如 0
和 null
会被解析成 false
,而 21
和非 null
对象会被解析给 true
。
Non-boolean values are interpreted loosely as boolean. For example, 0
and null
are treated as false
, whereas 21
and non-null
objects are treated as true
.
如果你的参数是observable的,那绑定会随着observable值的改变而自动更新enabled/disabled状态。如果不是,则只会设置一次并且以后不再更新。
If your parameter references an observable value, the binding will update the enabled/disabled state whenever the observable value changes. If the parameter doesn’t reference an observable value, it will only set the state once and will not do so again later.
其它参数
- 无
注:任意使用JavaScript表达式
不紧紧限制于变量 – 你可以使用任何JavaScript表达式来控制元素是否可用。例如,
You’re not limited to referencing variables - you can reference arbitrary expressions to control an element’s enabledness. For example,
<button data-bind="enable: parseAreaCode(viewModel.cellphoneNumber()) != '555'">
Do something
</button>
依赖性
除KO核心类库外,无依赖。
(c) knockoutjs.com