如何在此java脚本无线电选择中添加第二个链接?

时间:2018-01-19 02:17:02

标签: javascript

我无法弄清楚如何插入第二个链接。我希望每个单选按钮指向不同的链接。

<script>
    function myFunction() {
   
        if(document.getElementById('slide1').checked) {
            document.getElementById('myLink').href = "https://www.nationsprint.com/clients/ccpopv2/catalog.cgi";
            
        
        }
    }
</script>
<input checked="" type="radio" name="slider" id="slide1">
<input type="radio" name="slider" id="slide2" >


<a href="" onclick='myFunction()' id="myLink">MyLink</a>

3 个答案:

答案 0 :(得分:0)

单选按钮支持不同的值。您可以使用它来设置您希望它们重定向到的URL。

<input type="radio" name="slider" id="slide2" value="https://www.nationsprint.com/clients/ccpopv2/catalog.cgi">

然后,您可以使用document.querySelector来获取所选的广播。

var link = document.querySelector('input[name="slider"]:checked').value

这是一个显示其工作原理的片段:

function myFunction() {
    var link = document.querySelector('input[name="slider"]:checked').value
    document.getElementById('myLink').href = link;
}
<input checked="checked" type="radio" name="slider" id="slide1" value="https://stackoverflow.com/">
<input type="radio" name="slider" id="slide2" value="https://www.nationsprint.com/clients/ccpopv2/catalog.cgi">

<a href="" onclick='myFunction()' id="myLink">MyLink</a>

答案 1 :(得分:0)

您无法将多个href添加到一个元素中。如果我理解正确,您希望根据所选的无线电输入更改href。这是:

&#13;
&#13;
function myFunction() {
  if (document.getElementById('slide1').checked) {
    document.getElementById('myLink').href = "https://www.nationsprint.com/clients/ccpopv2/catalog.cgi"; 
  } else if (document.getElementById('slide2').checked) {
    document.getElementById('myLink').href = "https://stackoverflow.com/";
  }
  
  alert("Current 'href' is: " + document.getElementById('myLink').href);
}
&#13;
<input checked="" type="radio" name="slider" id="slide1">
<input type="radio" name="slider" id="slide2" >

<a href="" onclick='myFunction()' id="myLink">MyLink</a>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您应该将href设置为&#39; javascript:void(0)&#39;,以阻止代码的默认操作。

&#13;
&#13;
    function myFunction() {
        var slide1=document.getElementById('slide1');
        var slide2=document.getElementById('slide2');
        var myLink=document.getElementById('myLink');
        if(slide1.checked) {
            myLink.href = "https://www.nationsprint.com/clients/ccpopv2/catalog.cgi";
        }
            
        if(slide2.checked) {
            myLink.href = "https://stackoverflow.com/";
        }
    }
&#13;
<input checked="" type="radio" name="slider" id="slide1">
<input type="radio" name="slider" id="slide2" >


<a href="javascript:void(0)" onclick='myFunction()' id="myLink" >MyLink</a>
&#13;
&#13;
&#13;