我有一个问题,就是如何将单选按钮绑定到具有布尔值属性的对象上。 我试图显示从$resource检索到的考试问题。
HTML:
这是jsFiddle,展示了无法工作和能够工作的对象。 Here's the jsFiddle showing non-working and working objects
HTML:
<label data-ng-repeat="choice in question.choices">
<input type="radio" name="response" data-ng-model="choice.isUserAnswer" value="true" />
{{choice.text}}
</label>
JS:
$scope.question = {
questionText: "This is a test question.",
choices: [{
id: 1,
text: "Choice 1",
isUserAnswer: false
}, {
id: 2,
text: "Choice 2",
isUserAnswer: true
}, {
id: 3,
text: "Choice 3",
isUserAnswer: false
}]
};
使用这个示例对象,“isUserAnswer:true”属性不会导致单选按钮被选中。如果我将布尔值封装在引号中,则可以正常工作。
JS:
$scope.question = {
questionText: "This is a test question.",
choices: [{
id: 1,
text: "Choice 1",
isUserAnswer: "false"
}, {
id: 2,
text: "Choice 2",
isUserAnswer: "true"
}, {
id: 3,
text: "Choice 3",
isUserAnswer: "false"
}]
};
很遗憾,我的REST服务把那个属性当作布尔类型对待,改变JSON序列化方式来将这些值放在引号中封装起来会很困难。是否有其他方法可以设置模型绑定而不改变模型的结构?这是jsFiddle,展示了无法工作和能够工作的对象。 Here's the jsFiddle showing non-working and working objects
<input type="radio" name="hospitality" ng-model="model.hospitality" ng-value="true" ng-checked="model.hospitality===true" ng-required="model.hospitality===null">
(我正在使用Umbraco,所以被迫使用Angular v1.1.4,也许这就是原因) - jenson-button-event