Javascript 在jquery中检查同一列中的相同顺序时验证复选框
我有几行复选框。该场景是,在类别(蓝色框)中,当我单击第一行中的复选框时,当我单击第二行或第三行以及同一列中的另一个复选框时,将取消选中先前选中的复选框,并选中新复选框。这很好用。我的问题是,当我取消选中新选中的复选框时,它应该重新选中先前选中的复选框。谁能帮我做这个 请注意,复选框的验证在每个类别中都是独立的(蓝色框)。此外,始终选中每个类别的第一行 演示如下所示Javascript 在jquery中检查同一列中的相同顺序时验证复选框,javascript,jquery,Javascript,Jquery,我有几行复选框。该场景是,在类别(蓝色框)中,当我单击第一行中的复选框时,当我单击第二行或第三行以及同一列中的另一个复选框时,将取消选中先前选中的复选框,并选中新复选框。这很好用。我的问题是,当我取消选中新选中的复选框时,它应该重新选中先前选中的复选框。谁能帮我做这个 请注意,复选框的验证在每个类别中都是独立的(蓝色框)。此外,始终选中每个类别的第一行 演示如下所示 $(“.main”).on('change','.js cars项[type=“checkbox”]”,函数(){ var id
$(“.main”).on('change','.js cars项[type=“checkbox”]”,函数(){
var idx=$(this).closest('li').index();//按顺序获取索引编号
var chk=$(this).is(“:checked”);//如果选中或不选中,则获取
var obj=this;//复选框对象
$(this).closest('.cars').find('.js cars item').each(function(){//Loop every js cars item
//找到与单击的复选框索引相同的复选框。更改禁用属性
$(this.find('li:eq('+idx+')[type=“checkbox”]')).not(obj.prop(“checked”,false);
});
var checkeds=[];
$(this).closest(“.cars”).find(“.cars项目输入:复选框:选中”).each(函数(索引){
checkeds[index]=$(this.attr('id');
});
console.clear();
log(“这些已检查:”,已检查);
})
$('.js添加类别')。单击(函数(){
变量类别内容=`
-
-
-
添加节
添加节
`
$('.main').append(categoryContent);
});
$(document.body).on('click','button.js add section',function()){
var sectionContent=`
-
-
您可以通过假设您有两个复选框并将两个变量设置为prev
和new
。因此,当您首先选中其中任何一个时,它将转到new
,如果您选中任何其他复选框,则前一个将转到prev
,新选中的复选框将转到new
,并且当您取消选中时k新选中的复选框它将首先检查prev
中是否有任何值,如果是,则选中该复选框并将其设置为new
,并将当前复选框设置为prev@jones,在这里,您必须通过向主车类别div提供ID来管理此项,并根据动态ID使用您的车项目div管理另一个ID我创建钥匙对值数组。在钥匙中我存储您汽车的Id,在值中我管理选中复选框Id的列表。当您取消选中时,我从数组中找到钥匙,并将其值返回到包含checkedID轨迹的数组中。当其未选中时,我将拾取lastID并从数组值中删除。请查看我给出的解决方案让我知道这个案子对你有用吗
$(文档).ready(函数(){
var-cnt=1;
var-carcnt=1;
var arryRollback=[];
$(“.main”).on('change','.js cars项[type=“checkbox”]',函数(){
var carKey=$(this).closest('.cars').attr(“id”).replace(“carCategory”,”);
var carVal=$(this).closest('.js cars item').attr(“id”).replace(“chkcar_”);
var idx=$(this).closest('li').index();
var chk=$(this).is(“:checked”);
var obj=这个;
如果($(this).prop(“选中”))
{
if(arryRollback.length==0){
var sArray=[];
推(卡瓦尔);
var singleEntity={
carsParent:carKey,
卡瓦尔:萨雷
};
arryRollback.push(单实体);
}
否则{
if(findObjectByKey(arryRollback,“carsParent”,carKey)){
对于(变量i=0;i”+
“- ”+
'' +
'' +
“
”+
“- ”+
'' +
'' +
“
”+
“- ”+
'' +
'' +
“
”+
“
”+
'' +
“添加节”+
“添加节”+
“
”;
$('.main').append(categoryContent);
});
$(document.body).on('click','button.js add section',function()){
var currsection=$(this.attr(“id”).replace(“btnSaveSec_u239;”,即“);
var totCount=$(“#carCategory”+currsection)。查找(“.cars项”)。长度+1;
var sectionContent=''+
“”+
“- ”+
'' +
'' +
“
”+
“- ”+
'' +
'' +
“
”+
“- ”+
'' +
'' +
“
”+
“
”;
$(此)。关闭