两种解决方法:
1.通过双向绑定来解决
2.通过dom节点来处理
在点击的时候可以获取到当前点击事件的checked的值是true还是false,所以可以通过设置或者是获取dom对象(jquery对象有问题,看如下代码)的checked的值来处理,前提基础理解:checked等在html中设置false和true是不关用的,都是选中的状态,可以这样理解,像着这样的属性,渲染引擎解析到checked就不往后面解析了,只要设置了这个属性就是选中状态(这个在angular2 的html中确实是可以的,因为插值表示式或者属性的方式又进行了转化),但是在js中可以设置他的true和false,并且是管用的。
let arr = $("input[name='courseGeneralType']"); if(arr.length>0){ for(let i=0;i<arr.length;i++){ // $(arr[i]).removeAttr('checked') // $(arr[i]).removeProp('checked') arr[i].checked=false; } }
jquery对象有问题是因为:
1.removeattr 和removeprop 都是用来删除用attr和prop设置的属性,这个checked是固有的属性,我们没有单独设置,所以不对
2.prop 一般指元素的固有属性,attr指我们自定义的属性,checked 的false可以
$(arr[i]).prop('checked',false) 这样来写