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=''+ “
    ”+ “
  • ”+ '' + '' + “
  • ”+ “
  • ”+ '' + '' + “
  • ”+ “
  • ”+ '' + '' + “
  • ”+ “
”; $(此)。关闭