繁体   English   中英

根据选择的单选按钮更改按钮链接

[英]Change button link depending on which radio button is selected

我有5个单选按钮,根据要选择的哪个按钮,我想更改图像的href链接,从而将您发送到另一个页面。 示例:我选择了第一个单选按钮。 当我单击图像时,将打开“画廊”页面。 当我选择第二个单选按钮并按下图像时,它将打开“关于我”页面...使用JavaScript对此有什么解决方案吗?

这是我的收音机:

<input checked="" type="radio" name="slider" id="slide1">
<input type="radio" name="slider" id="slide2">
<input type="radio" name="slider" id="slide3">
<input type="radio" name="slider" id="slide4">
<input type="radio" name="slider" id="slide5">
<input type="radio" name="slider" id="slide6">

这是按钮:

<div id="down_icon2">
    <a href="">
        <img src="images/down_icon.png">
    </a>
</div>

创建一个功能来检查设置了哪个单选按钮,该功能设置了所需的链接。

 <input checked="" type="radio" name="slider" id="slide1"> <input type="radio" name="slider" id="slide2" > <input type="radio" name="slider" id="slide3"> <input type="radio" name="slider" id="slide4"> <input type="radio" name="slider" id="slide5"> <input type="radio" name="slider" id="slide6"> <a href="" onclick='myFunction()' id="myLink">MyLink</a> <script> function myFunction() { if(document.getElementById('slide1').checked) { document.getElementById('myLink').href = "test.php"; } } </script> 

您可以对图像src执行相同的操作

编辑:这是第一个单选按钮的情况,您必须为其他按钮添加测试。

<input type="radio" data-image="http://www.placecage.com/200/300" name="slider" id="slide1">

将数据图像添加到具有所需图像的所有幻灯片中。 然后使用Jquery,您可以执行以下操作:

$("input").click(function () {
  var clickedRadio = $(this).attr("data-image");
  $("img").attr("src", clickedRadio);
})

如果单击任何输入,它将图像的src设置为单击项的数据图像;)注意,这使用了Jquery

这也是一个工作示例codepen

答案就是这样,它只使用本机javascript。如果您使用jQuery之类的额外lib,它可以写得更好。

https://jsfiddle.net/mham9ons/

只需使用您的html:

<input type="radio" name="slider" id="slide2" data-href="xxx1">
<input type="radio" name="slider" id="slide3" data-href="xxx2">
<input type="radio" name="slider" id="slide4" data-href="xxx3">
<input type="radio" name="slider" id="slide5" data-href="xxx4">
<input type="radio" name="slider" id="slide6" data-href="xxx5">

<div id="down_icon2"><a href=""><img src="images/down_icon.png"></a></div>

添加以下代码:

var sliders = document.getElementsByName('slider');
var linkWrapper = document.getElementById('down_icon2');

for (var i in sliders){
    if(sliders[i].addEventListener){
    sliders[i].addEventListener('click', function(){
       linkWrapper.childNodes[0].setAttribute('href', this.getAttribute('data-href'));
    });
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM