Javascript KnockoutJS数据绑定=";可见:";有两种情况是不起作用的

Javascript KnockoutJS数据绑定=";可见:";有两种情况是不起作用的,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,一件简单的事,我正在尝试用KnockoutJS训练 我有两个下拉列表和一个文本框 我需要什么 如果两个下拉列表都被选中,那么只有我会显示复选框。否则,文本输入不应可见 我的尝试: 这是我的小提琴: 我用了这样的方法: data-bind="visible: selectedValue && selectedControl" 根据上述情况,验证条件如下: IF selectedValue IS TRUE AND selectedControl IS NOT UNDEFINED

一件简单的事,我正在尝试用KnockoutJS训练

我有两个
下拉列表
和一个
文本框

我需要什么

如果两个下拉列表都被选中,那么只有我会显示复选框。否则,文本输入不应可见

我的尝试:

这是我的小提琴:

我用了这样的方法:

data-bind="visible: selectedValue && selectedControl"
根据上述情况,验证条件如下:

IF selectedValue IS TRUE AND selectedControl IS NOT UNDEFINED

请给我一个解决方案,以及我在哪里出了问题。我是
knockoutJS的初学者

当您在绑定中使用多个条件时,您需要展开可观察对象,以便可以计算整个表达式

要做到这一点,只需在可观察对象后添加括号:

<input type="text" class="form-control" data-bind="visible: selectedValue() && selectedControl()" />
然后,只需将输入绑定到此:

<input type="text" class="form-control" data-bind="visible: showCondition" />


谢谢你的帮助,尤其是你的解释。@Vikash我更新了另一个选项,在可重用性方面可能更好。非常感谢。这对我真的很有帮助。嗨,史蒂夫。我只是尝试根据选择的第一个下拉值填充第二个下拉值。可能吗?我尝试使用knockoutJS示例,但我无法在edit上填充下拉列表,也无法将我的JSON作为参数传递到“edit details”上进行绑定。有什么办法吗?@Vikash您可能应该用额外的细节和您尝试过的新代码问一个新问题。
<input type="text" class="form-control" data-bind="visible: showCondition" />