禁用具有敲除的选择列表

时间:2014-06-26 07:52:31

标签: knockout.js binding

我正在尝试使用knockout禁用绑定禁用选择列表。它不起作用。当值(readOnly.IsNew)为true时,仍会启用该列表。我检查过这个值是否正确,即readOnly.IsNew。它适用于复选框,而不是选择列表。

<select name="myDropDown" data-bind="
                    options: $parents[1].readOnly.myList,
                    value: selectedMethod,
                    disable: !(readOnly.isNew)"></select>

1 个答案:

答案 0 :(得分:6)

我猜isNew是可观察的,在这种情况下,你需要在表达式中使用它时取消它:

disable: !(readOnly.isNew())

如果你把只有observable的数据绑定敲除自动打开它,例如你可以写,它会工作:

disable: readOnly.isNew

但是当你在data-bind中使用表达式时,敲除无法解开observable,你应该自己动手。例如,如果要在没有记录时隐藏选择,则应编写以下内容:

visible : $parents[1].readOnly.myList().length > 0