javascript changelink函数用于2选择

javascript changelink function for 2 select

本文关键字:选择 用于 函数 changelink javascript      更新时间:2023-09-26

我正在使用此函数通过选择来更改按钮处的链接,现在我想用其他按钮添加其他选择,但我只能通过添加两次相同的函数并更改其中一个的名称来实现。有什么提示吗?

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';
    }
}

如果我理解正确,应该这样做。我只是将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或你目前拥有的内容,这样我们就可以更好地了解你希望它如何工作