我正在尝试从一组单选按钮中删除checked属性。我正在使用angularjs,但我尝试使用jquery,它是相同的。这是我的angularjs代码:
var radioList = angular.element(document.querySelectorAll(".radioButtons"));
for (var i = 0; i <= radioList.length; i++) {
radioList[i].removeAttr('checked');
}
错误是:
TypeError: radioList[i].removeAttr is not a function
我做错了什么? 提前谢谢。
更新: Angular版本:AngularJS v1.5.8
答案 0 :(得分:0)
你正在执行1次额外循环,你的循环条件应该是i<
而不是i<=
应该是
for (var i = 0; i < radioList.length; i++) {
radioList[i].checked=true;
}
答案 1 :(得分:0)
首先,angularJS在内部使用jQuery,因此您可以随意使用元素选择器,就像在jQuery中一样。调用angular.element函数后,要么返回no,要么返回一个或多个结果,否则将返回结果数组。由于此数组可识别jQuery,因此可以在其引用上调用jQuery函数,该函数将在返回的结果数组中的每个条目中调用。所以,你只需要这样做;
angular.element('.radioButtons').removeAttr('checked');
答案 2 :(得分:0)
我解决了在输入中添加值的问题。
<input type="radio" name="presetRadio" id="{{filterData.id}}"
ng-model="currentRule.filters"
value="{{filterData.id}}"
ng-checked="filterData.active" />
感谢所有!!