都知道,radio是以name属性来区分的,当name一样的时候,这几个当中只能选择其中一个。
最近做问卷的页面的时候就遇到了,每个题目都有非常不满意等评价,导致一张问卷只能选择一道题的结果。
在搜狗浏览器发现 ionic的radio的name都是radio-group 所有的单选框的name都是ionic自身设置的,导致整个页面的问卷单选框的题目只能选一个
联想到这种情况应该是可以自己定义name属性的,并且是可以将它本身的给覆盖,果不其然
然后在自己的radio里面重写一个name属性,ionic会将我们的自己定义的name属性覆盖ionic自身的radio单选框里面的name属性
<ion-content>
<div class="list">
<div ng-repeat="item in sfs.surveyItems" style="overflow: auto;" class="item item-button-right">
<h2 class="calm" style="margin-bottom:10px;font-size:14px;">
<div class="item item-divider">
{{$index+1}}、{{item.itemName}}
<span ng-if="item.answerType==1">(单选)</span>
<span ng-if="item.answerType==2">(多选)</span>
<span ng-if="item.answerType==3">(问答)</span>
</div>
</h2>
<div ng-if="item.answerType==1">
<ion-radio ng-repeat="answer in item.answers" name={{item.id}} ng-value="answer.num" ng-click="radioAnswer(item,answer,$event)">{{answer.answer}}</ion-radio>
</div>
<div ng-if="item.answerType==2">
<ion-checkbox ng-repeat="answer in item.answers" ng-click="checkAnswer(item,answer,$event)">{{answer.answer}}</ion-checkbox>
</div>
<div ng-if="item.answerType==3">
<label class="item item-input">
<textarea placeholder="最长100个字符" maxlength="100" ng-keyup="disparkAnswer(item,$event)"></textarea>
</label>
</div>
</div>
</div>
</ion-content>