我写了这段代码
<label><input ng-model="filter['category']['auto']" value="auto" type="checkbox" name="category">Auto</label>
<label><input ng-model="filter['category']['music']" value="music" type="checkbox" name="category">Music</label>
控制器中的
$scope.filter = {};
我总是使用文件管理器过滤内容。一切都很好。但我想使用无线电而不是复选框来仅允许选择一个类别。我试过这段代码
<label><input ng-model="filter['category'][type]" value="auto" type="radio" name="category" ng-change="type='auto'>Auto</label>
<label><input ng-model="filter['category'][type]" value="music" type="radio" name="category" ng-change="type='music'">Music</label>
但它不起作用。
答案 0 :(得分:0)
将来我肯定会做更多的事情来解释你得到的错误,而不只是说'它不起作用'。
但是,您在自动标签代码中缺少结束。
<label><input ng-model="filter['category']['type']" value="auto" type="radio" name="category" ng-change="type='auto'">Auto</label>
编辑:从其他答案添加'type'字符串
答案 1 :(得分:0)
要使用单选按钮,两个输入的ngModel应该相同。然后就不需要ngChange了。
<label><input ng-model="filter['category']" value="auto" type="radio" name="category">Auto</label>
<label><input ng-model="filter['category']" value="music" type="radio" name="category">Music</label>
这样你的filter
对象就像
{ category: 'auto' }
或
{ category: 'music' }
使用原始代码,您最终会
{ category: { auto: 'auto', music: 'music' }
假设该类别是一个对象。如果不是你可能会收到错误。
答案 2 :(得分:0)
<label><input ng-model="filter['category']" value="auto" type="radio" name="category" ng-change="type='auto'">Auto</label>
<label><input ng-model="filter['category']" value="music" type="radio" name="category" ng-change="type='music'">Music</label>
这应该是shown here