【发布时间】:2016-09-13 22:51:51
【问题描述】:
我目前正在尝试使用 Angular,但我遇到了一个问题,我的 API 有一组问题,其中一些问题依赖于其他问题,当它是单选按钮问题时被检查为是,并且在名为ReliesOnID 的属性。
一旦我检查是,依赖于当前检查的问题需要显示。
我来自 jQuery 背景,所以我会执行一个函数,传入 reliesonid,因为这将是问题编号,并执行类似 $('#question' + reliesonid').show() 的操作。
当我单击“是”时,如何使单选按钮显示另一个问题,因为它们是重复的?多年来一直坚持这一点,因此非常感谢您的帮助。下面是我的代码:
<div id="question{{question.Number}}" ng-repeat="question in questions" ng-class="question.ReliesOnID == null ? 'here' : 'hidden'">
<div ng-if="question.QuestionTypeID == 3" >
<div class="row">
<div class="col-xs-12">
<h5>{{question.Question}}</h5>
</div>
</div>
<div class="row">
<div class="col-xs-2">
<div class="col-xs-4"></div>
<div class="col-xs-8">
<input type="radio" value="yes" name="{{question.Number}}" /><label>Yes</label>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-2">
<div class="col-xs-4"></div>
<div class="col-xs-8">
<input type="radio" value="no" name="{{question.Number}}" /><label>No</label>
</div>
</div>
</div>
</div>
<div ng-if="question.QuestionTypeID == 1">
<div class="row">
<div class="col-xs-12">
<h5>{{question.Question}}</h5>
</div>
</div>
<div class="row">
<div class="col-xs-4">
<input type="text" class="form-control" />
</div>
</div>
</div>
</div>
编辑:数据结构为:
{
"Active": true,
"Comments": false,
"DecimalPlaces": 0,
"F": false,
"FP": false,
"Grouped": null,
"ID": 20500,
"Length": false,
"MP": true,
"Multiline": false,
"Number": 45,
"NumericOnly": false,
"Optional": false,
"Question": "How long ago was the treatment?",
"QuestionID": 45,
"QuestionSectionID": 2,
"QuestionTypeID": 2,
"QuestionnaireID": 298,
"ReliesOnAnswer": true,
"ReliesOnID": 44,
"Weight": false
}
【问题讨论】:
-
请对问题进行更多解释。问题不清楚。
-
问题是当我单击“是”单选按钮时无法显示问题。所以这个问题的 id 是 question42 所以我需要找到那个元素并在单击单选按钮时显示它。在 jquery 中我会做类似 function test(reliesonid) { $('#question' +dependonid).show();}
-
@Will2070 你能告诉我们你的 jsfiddle 看看你的问题的依赖关系,如果可能的话,向我们展示你的 json 对象。
-
@Loading.. 我已经添加了上面问题的 JSON 对象。所依赖的 questionid 是它所依赖的问题的编号,它是 Number 属性
-
@Will2070 我认为这个 json 将作为问题出现在 ng-repeat 中,并且每个问题都会有每个收音机,一旦我检查是,它会显示 44 的问题,是吗?
标签: javascript jquery angularjs ng-show ng-hide