Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据选中的复选框更改HREF值_Javascript_Jquery - Fatal编程技术网

Javascript 根据选中的复选框更改HREF值

Javascript 根据选中的复选框更改HREF值,javascript,jquery,Javascript,Jquery,附在下面的HTML和JS。需要逻辑 如果选中了“rt检查--1”或“rt检查--1&rt检查--2”或“rt检查--1或rt检查--3”,则更改a href='#/Test1' 如果选中了“rt-check--two”或“rt-check--two”或“rt-check--three”,则更改a href='#/Test2' 如果选中了“rt检查--三”,则更改a href='#/Test3' 请根据所需逻辑为我提供更改href的解决方案 谢谢 HTML: <input type="che

附在下面的HTML和JS。需要逻辑

  • 如果选中了“rt检查--1”或“rt检查--1&rt检查--2”或“rt检查--1或rt检查--3”,则更改a href='#/Test1'
  • 如果选中了“rt-check--two”或“rt-check--two”或“rt-check--three”,则更改a href='#/Test2'
  • 如果选中了“rt检查--三”,则更改a href='#/Test3'
  • 请根据所需逻辑为我提供更改href的解决方案

    谢谢

    HTML:

    <input type="checkbox" class="js-check" id="rt-check--one" name="rt-check"> Test element 1
    <input type="checkbox" class="js-check" id="rt-check--two" name="rt-check"> Test element 2
    <input type="checkbox" class="js-check" id="rt-check--three" name="rt-check"> Test element 3
    
    <a tabindex="33" href="#/Test1" class="rt-button js-button--down">Next</a>
    
    $('#rt-check--one').change(function(){
        if(($('#rt-check--one').is(':checked')) || ($('#rt-check--one').is(':checked') && $('#rt-check--two').is(':checked')) || ($('#rt-check--one').is(':checked') && $('#rt-check--three').is(':checked'))){
            $('a').attr("href", "#/Test1");
        } else{
            $('a').attr("href", "#/Test1");
         }
    });
    
    $('#rt-check--two').change(function(){
        if(($('#rt-check--two').is(':checked')) || ($('#rt-check--two').is(':checked') && $('#rt-check--three').is(':checked'))){
            $('a').attr("href", "#/Test2");
        } else{
            $('a').attr("href", "#/Test2");
         }
    }); 
    

    我会这样做:

    <input type="checkbox" class="js-check" data-href=""> Test element 1
    <input type="checkbox" class="js-check" data-href=""> Test element 2
    <input type="checkbox" class="js-check" data-href=""> Test element 3
    

    您可以将名称更改为
    rt-check-1
    rt-check-2
    等,并验证是否按以下方式进行了选中-
    $('input[name=“rt-check-1”]:checked')

    如所述,您最好使用

    然后根据第一个
    :选中的
    复选框更新
    href

    $(“.js检查”).change(函数(){
    var href=$(“.js check:checked”).first().attr(“数据url”)||“Test1”;
    $(“a”).attr('href',href)
    //演示:
    .text(href);
    });
    
    
    测试元素1
    测试元素2
    测试元素3
    
    

    您可能想使用单选按钮?我提出的解决方案现在对您有效吗?本网站不是免费的编码服务。
        $(".js-check").on("change", function() {
         if ($(this).prop("checked"))
         {
           $("a").attr("href", $(this).data("href"))
         }
        })