Javascript 多个复选框值检查并因此更新了表数据

Javascript 多个复选框值检查并因此更新了表数据,javascript,jquery,html,Javascript,Jquery,Html,我需要编写一个脚本来处理两组复选框,其中脚本处理两个集合中的选项,并基于此显示/隐藏表数据行 应该发生的是,每当更新任一复选框集中的值时,都会过滤表行。每次任一组中的选择发生更改时,保留的行应遵循两组复选框的逻辑 我真的很困惑,如何让这两个集合一起工作,任何指针都会很好吗 抵押类型 类型2 类型3 类型5 费用 费用 免费 贷款类型费(英镑) 银行OneType 21000 银行2型3None 银行三类4无 我会通过动态生成表格来处理这个问题,当收音机发生变化时,只需重新渲染即可 var贷

我需要编写一个脚本来处理两组复选框,其中脚本处理两个集合中的选项,并基于此显示/隐藏表数据行

应该发生的是,每当更新任一复选框集中的值时,都会过滤表行。每次任一组中的选择发生更改时,保留的行应遵循两组复选框的逻辑

我真的很困惑,如何让这两个集合一起工作,任何指针都会很好吗


抵押类型

类型2
类型3
类型5

费用

费用
免费
贷款类型费(英镑) 银行OneType 21000 银行2型3None 银行三类4无
我会通过动态生成表格来处理这个问题,当收音机发生变化时,只需重新渲染即可

var贷方=[{
名称:“银行1”,
类型:“类型2”,
费用:0
}, {
名称:“银行2”,
类型:“类型3”,
费用:0
}, {
名称:“银行3”,
类型:“类型5”,
费用:1000
}];
函数渲染器(){
变量类型=$(“输入[name=type]:选中”).map(函数(){
返回$(this.val();
}).get();
var费用=$(“输入[名称=费用]:选中”).map(函数(){
返回$(this.val();
}).get();
var l=贷方.filter(函数(项、索引、数组){
返回类型.indexOf(item.type)!=-1;
});
l=l.filter(函数(项、索引、数组){
返回(
(
项目费用>0&&
费用。指数(“费用”)!=-1
) ||
(
item.fee==0&&
费用。indexOf(“nofee”)!=-1
)
);
});
var行=”;
对于(变量i=0;i0)?l[i]。费用:“无”)+“”;
}
$(“#贷方”).html(行);
}
$(函数(){
渲染器();
$(“输入[type=checkbox]”)。在(“单击”,函数(){
渲染器();
});
})
表格,td{
边框:1px纯黑;
}

抵押类型

类型2
类型3
类型5

费用

费用
免费
借阅费
如果选中某个属性,则显示行

var$products=$(“#抵押表主体>tr”);
$products.hide();
检查的var_arr=[];
$(“输入[type='checkbox']”)。更改(函数(){
var$self=$(本);
var checked=$self.prop(“checked”);
var obj=$self.attr(“数据类型”);
如果(选中){
检查推力(obj);
}
其他的
{
var poped=已检查的项目索引(obj);
已检查的阵列拼接(poped,1);
}
$products.each(函数(){//获取tr数据类型
var to_split=$(this.attr(“数据类型”);
var attrs=[];
attrs=要拆分。拆分(“,”);
对于(var i=0;i-1){//未选中且不在
count++;//选中的属性数组
}	
});
如果(!计数)
$(this.hide();
}
}
}
});
});
thead>tr{
边框底部:1px纯黑;
显示:内联块;
}
td,th{
宽度:100px;
显示:内联块;
}
th:n个孩子(2n+1),td:n个孩子(2n+1){背景:#CCC}{背景颜色:银色;}

抵押类型

类型2
类型3
类型5

费用

费用
免费
贷款类型费(英镑) 银行OneType 21000 银行2型3None 银行三类5无
在哪个事件上调用此函数MortgageTypeCheckbox(),您真的缺少对js函数和EventHandler的调用,还是js中缺少一些代码?请加上!不确定“费用”复选框上的逻辑是如何工作的。例如,我如何为不同的费用添加不同的选项?看起来您使用了>0逻辑,而不是仅基于实际值显示/隐藏?我可以很容易地更改吗?考虑到您提供的复选框,我假设您希望显示有费用的复选框和无费用的复选框,我没有意识到您需要其他选项。你还想做什么?对不起,当然不是你的错。我可以添加选项,如果你能引导我改变方向,使其与第一组相同的逻辑。我试过了,但我因为某种原因把他们的合作搞砸了所以还是数字,现在就说0,100,200