2013-08-30 70 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