angular2 checbox 中checked 的问题

两种解决方法:

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) 这样来写

猜你喜欢

转载自blog.csdn.net/github_39319000/article/details/80898017