2013-08-30 89 views
1

我正在使用此功能通过选择来更改按钮处的链接,现在我想添加另一个按钮来选择其他按钮,但我只能通过两次添加相同的功能并更改其中一个的名称。 任何提示?javascript changelink function for 2 select

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

你能提供你的HTML?你想要第二个按钮链接到什么?与第一个相同? –

+0

https://dl.dropboxusercontent.com/u/30177800/test.html所有的代码在这里,我不知道如何发布它。 – frank

回答

0

如果我理解正确,this should do it。我只是改变了标识类和添加的一个参数changelink功能,使确定哪个select使用和a s到影响

/* 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或您到目前为止什么以及我们可以得到一个更好的想法你想如何工作

+0

非常感谢,效果很好...... :) – frank

+0

在附注中,您可能希望在'visibility:hidden'上使用'display:none',因为它会在链接不可见时删除链接的间距 –

+0

感谢为暗示... – frank