Javascript 根据敲除中另一个元素的值使一个元素可见

Javascript 根据敲除中另一个元素的值使一个元素可见,javascript,knockout.js,knockout-validation,Javascript,Knockout.js,Knockout Validation,我的HTML中有三个元素:问题、分数和评论。分数是一个HTML选择,包括差、好和优秀选项 我只想在分数不好的情况下让评论字段可见 谢谢你的建议 修改这行怎么样: <!-- ko if: availableScores() != 'Good' --> 我假设只有当所选分数与“Good”值不同时,注释文本框才可见 为此,必须跟踪选定的值并将其绑定到列表框, 此处通过属性selectedScore显示 最小MCVE显示了这种行为 变量问题=函数{ _self=这个; _self.qu

我的HTML中有三个元素:问题、分数和评论。分数是一个HTML选择,包括差、好和优秀选项

我只想在分数不好的情况下让评论字段可见


谢谢你的建议

修改这行怎么样:

 <!-- ko if: availableScores() != 'Good' -->

我假设只有当所选分数与“Good”值不同时,注释文本框才可见

为此,必须跟踪选定的值并将其绑定到列表框, 此处通过属性selectedScore显示

最小MCVE显示了这种行为

变量问题=函数{ _self=这个; _self.question=; _self.comment=ko.observable; _self.availableScores=[好、差、优秀]; _self.selectedScore=ko.observableGood; } var-vm=新问题; ko.applyBindingsvm; 评论:
我正在努力理解计算函数返回的内容。根据元素1是否具有特定值,元素2必须显示或不显示。我看不出这个函数有什么帮助?注释是一个输入。我回答的要点是,你应该在一些函数中包装逻辑,而不是在敲除html中比较它,如果我过去也有一些问题,我记得,如果这个html结构的实现甚至存在一些问题,我必须用div包装我想隐藏的块,并使用数据绑定,我如何收集问题?我的调查有5个问题。我倾向于将您的问题函数更改为observableArray,但这会否定函数中的操作。可能不是最好的描述,但我对整个javascript世界都是新手。您需要一个父viewmodel,例如包含一系列问题viewmodel实例的Survey,您可以在循环中呈现这些实例。位于的cart和cartline示例显示了这样的设置。
 <!-- ko if: availableScores() != 'Good' -->
 <!-- ko if: displayComments() -->
this.displayComments = ko.computed(function(){ return this.availableScores() !== 'Good'; });