使用switch语句选择radiobutton时更改href值

时间:2016-08-15 00:52:07

标签: javascript jquery input switch-statement href

尝试根据选择的单选按钮来改变语句中的href引用

        <ul class="size_selector">
                        <li class="top"><input type="radio" class="radioselect" name="id" id="test1" value="test1" /><label for="test1">1</label></li>
                        <li class="top"><input type="radio" class="radioselect" name="id" id="test2" value="test2"/> <label for="test2">2</label></li>
                        <li class="top"><input type="radio" class="radioselect" name="id" id="test3" value="test3"/> <label for="test3">3</label></li>
                        <li class="top"><input type="radio" class="radioselect" name="id" id="test4" value="test4"/> <label for="test4">4</label></li>
        </ul>
<a id="shopCart" href="#">
    Take me to your leader
</a>

Jquery的

$("input[type='radio']").change(function(){

switch($(this).val()) {
  case "test1" :
    document.getElementById("shopCart").href="http://yahoo.com"; 
    break;
  case "test2" :
    document.getElementById("shopCart").href="http://bing.com"; 
    break;
  case "test3" :
    document.getElementById("shopCart").href="http://google.com"; 
     break;
  case "test4" :    document.getElementById("shopCart").href="http://stackoverflow.com";
    break;
  };

});

http://codepen.io/homogenizer/pen/xOrzgZ

3 个答案:

答案 0 :(得分:1)

您正在使用JQuery,但没有链接。
设置 - &gt; JavaScript的
https://code.jquery.com/jquery-3.1.0.min.js

中添加此链接

答案 1 :(得分:1)

您只需使用
$("#shopCart").attr("href","http://yahoo.com");
等等..

答案 2 :(得分:1)

如果将输入的值更改为[0,1,2,3],则可以将链接放入数组中,并将所有开关语句放在一起并简化代码。

HTML

<ul class="size_selector">
    <li class="top"><input type="radio" class="radioselect" name="id" id="test1" value="0" /><label for="test1">1</label></li>
    <li class="top"><input type="radio" class="radioselect" name="id" id="test2" value="1"/> <label for="test2">2</label></li>
    <li class="top"><input type="radio" class="radioselect" name="id" id="test3" value="2"/> <label for="test3">3</label></li>
    <li class="top"><input type="radio" class="radioselect" name="id" id="test4" value="3"/> <label for="test4">4</label></li>
</ul>
<a id="shopCart" href="#">
    Take me to your leader
</a>

的JavaScript

var links = ["http://yahoo.com", "http://bing.com", "http://google.com", "http://stackoverflow.com"]

$("input[type='radio']").change(function(){
    $("#shopCart").attr("href", links[$(this).val()]);
});

我使用该值来指定我想要取代链接的数组元素。

这比你的代码更干,更少冗余。