复选框的修改

记录一下开发过程中遇到的前端的问题:
1:复选框的回显

	var index = [];
	//根据name="editbusinessFlags" 获取所有的复选框
    var checkBoxAll1 = $('input[name="editbusinessFlags"]');
    //根据后台传过来的businessFlag重新组成一个数组
    for(var i=0;i<data.length;i++){
        var business = data[i].businessFlag;
        index.push(business);
    }
    //遍历所有的复选框
    $.each(checkBoxAll1,function(j,checkbox){
    	//获取每一个复选框的val
        var checkValue=$(checkbox).val();
        //后台传过来的businessFlag重新组成的数组  和  每一个复选框的val比较
        if(index.includes(parseInt(checkValue))){
        //如果数组中有该复选框的值,则选中该复选框
            $(this).prop("checked",true);
        }else{
        //如果数组中没有则不选中该复选框(清除复选框的checked属性)
            $(this).removeProp("checked")
        }
    })

开发过程中遇到的问题:刚开始用的是attr()方法,出现了复选框有时有效,有事无效的bug,最终还是在网上的一片博客中看到了 prop()和attr()的区别才修改过来的

复选框无效的问题:https://www.jb51.net/article/89038.htm(亲测好用)

2:全选和全部选一个按钮实现

	//准备工作:给按钮绑定一个id
 	var checkBoxAll1 = $('input[name^="businessFlags"]');
    var check=document.getElementById('allSelected');
        $.each(checkBoxAll,function(){
        //判断全选按钮是否选中
        if(check.checked){
            $(this).prop("checked",true);
        }else{
            $(this).removeProp("checked")
        }
    })

忠告:前端属性动态的操作尽量用prop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值