用于2选择的javascript changelink功能

时间:2013-08-30 14:58:44

标签: javascript

我使用此功能通过选择更改按钮上的链接,现在我想用其他按钮添加其他选择,但我只能通过添加相同的功能两次并更改名称来实现一个。 任何提示?

changelink(s) {
    if(s.options[0].selected){
        document.getElementById('yahoo').style.visibility = 'hidden';
        document.getElementById('google').style.visibility = 'hidden';
        document.getElementById("wsj").style.visibility = 'visible';
    }
    if(s.options[1].selected){
        document.getElementById('yahoo').style.visibility = 'hidden';
        document.getElementById('google').style.visibility = 'visible';
        document.getElementById('wsj').style.visibility = 'hidden';
    }
    if(s.options[2].selected){
        document.getElementById('yahoo').style.visibility = 'visible';
        document.getElementById('google').style.visibility = 'hidden';
        document.getElementById('wsj').style.visibility = 'hidden';
    }
}

1 个答案:

答案 0 :(得分:0)

如果我理解正确,this should do it。我刚刚将ID更改为类并向changelink函数添加了一个参数,以确定使用了哪个select以及影响哪个a

/* HTML */
<select onchange="changelink(this, 0)">
    <option value="0">3 mesi</option>
    <option value="1">6 mesi</option>
    <option value="2">9 mesi</option>
</select>
<a class="google" href="http://www.google.com">a</a>
<a class="yahoo" href="http://www.yahoo.com">b</a>
<a class="wsj" href="http://www.wsj.com">c</a>
<select onchange="changelink(this, 1)">
    <option value="0">3 mesi</option>
    <option value="1">6 mesi</option>
    <option value="2">9 mesi</option>
</select>
<a class="google" href="http://www.google.com">a</a>
<a class="yahoo" href="http://www.yahoo.com">b</a>
<a class="wsj" href="http://www.wsj.com">c</a>

/* Javascript */
function changelink(s, i) {
    if(s.options[0].selected){
        document.getElementsByClassName('yahoo')[i].style.visibility = 'hidden';
        document.getElementsByClassName('google')[i].style.visibility = 'hidden';
        document.getElementsByClassName("wsj")[i].style.visibility = 'visible';
    }
    if(s.options[1].selected){
        document.getElementsByClassName('yahoo')[i].style.visibility = 'hidden';
        document.getElementsByClassName('google')[i].style.visibility = 'visible';
        document.getElementsByClassName('wsj')[i].style.visibility = 'hidden';
    }
    if(s.options[2].selected){
        document.getElementsByClassName('yahoo')[i].style.visibility = 'visible';
        document.getElementsByClassName('google')[i].style.visibility = 'hidden';
        document.getElementsByClassName('wsj')[i].style.visibility = 'hidden';
    }
}

下次您应该包含一些HTML或者您目前所拥有的内容,以便我们更好地了解您希望它如何工作