关于复选框带条件去设置选不中的问题

爷,独闯天下 提交于 2019-11-26 16:47:10

关于js复选框带条件去设置选不中的问题:
我在做的条件:多选的框是icheckbox_square-blue,假设“调息启动”这个字段值为“是”,也就是adjrtbegin=‘1’,那么它前面的□就不会显示出来:
在这里插入图片描述
接下来我的js代码是这样:这个达到的效果就是,当我点击最上面的那个全选框,调息启动那个字段为是的就无法选中,我如果要进行删除操作的话,只能删除调息启动为否的数据。但是出现的问题就是,我不点最上面那个全选框,我直接去选择一条调息启动字段为是的数据就能选中进行删除操作。

let list = $('.tbscrollbar').find('tbody').find('tr');
       
        let result = list.filter((i,item) => {
         
           if($(item).find('td[name=adjrtbegin]').text()== '1'){
			   
			   $(item).find('td').eq(0).find('div').removeClass('checked');
			   $(item).find('td').eq(0).find(".icheckbox_square-blue").css("display","none");
			   $(item).find('td').css("background-color","#ffffff");
			    /*这个是最上面的全选框,点击以后,所有调息启动为是的都选不中
               但是有个弊端,不点最上面的,直接去点其中一条调息启动为是的数据就能选中 */
			   $('.tbhead .iCheck-helper').click(function(){
			       $(item).find('td').iCheck('uncheck');
			  })  
            }
         }) 

接下来我又尝试了这样去写:达到的效果是,我如果单独点击调息启动字段为是的一条数据,就选不中,也不能进行删除操作。但是我要是点最上面那个全选框,就能选中所有数据,包括了调息启动为是的数据,所有数据都能进行删除操作。

let list = $('.tbscrollbar').find('tbody').find('tr');
       
        let result = list.filter((i,item) => {
         
           if($(item).find('td[name=adjrtbegin]').text()== '1'){
			  
			   $(item).find('td').eq(0).find('div').removeClass('checked');
			   $(item).find('td').eq(0).find(".icheckbox_square-blue").css("display","none");
			   $(item).find('td').css("background-color","#ffffff");
			   /*这个是直接找到那一行数据*/
			    $(item).click(function(){
			     $(item).find('td').iCheck('uncheck');
		       })  
            }
         })

这个问题怎么解决呢,我还在测试中,希望大家给个修改意见

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!