2015-10-19 26 views
0
<div class="shakeme"> 
    <a id="link" href="javascript: void(0)" > 
     <img border="0" src="basic.png" width="400" height="230" role="button"> 
    </a> 
</div> 

這是我的部門內部的鏈接。正如你所看到的,鏈接是無效的,換句話說什麼都不做。控制鏈接與選擇選項欄,html「背頁的效果」

<select onchange="enableLink()" id="first-disabled" class="selectpicker"> 
    <optgroup> 
     <option selected="selected" value="1000" > Select </option> 
    </optgroup> 

    <optgroup label=" A "> 
     <option value="1001"> Car </option> 
     <option value="1002"> Banana </option>  
    </optgroup> 
</select> 

這是我的選擇選項欄,帶有自定義設置。我刪除了它的一些設置,不讓代碼更加混亂。但它基本上是一個選項選擇欄。

function enableLink() { 
    var e = document.getElementById("first-disabled").value;    
    if(e == 1001){ 
     document.getElementById("link").href="1001.html"; 
    }; 

    if(e == 1002){ 
     document.getElementById("link").href="1002.html"; 
    }; 
} 

有了它調用enableLink並設置了變更HREF到一定值。一切工作正常這一點。當我更改選項選擇欄中的值時,單擊該鏈接後會轉到我想要的鏈接。但是當我點擊每個網頁瀏覽器中的「返回」按鈕時,它會將頁面中的先前信息顯示出來,並顯示以前選擇的值。例如:在選擇欄中顯示香蕉。

之後,當我點擊鏈接它不做任何事情,我猜是因爲它也設置href爲空(void),當我回到上一頁。我怎樣才能讓它仍然去香蕉鏈接?

編輯:我認爲這個問題可以用默認的選擇框設置來解決。換句話說,當我回到它爲什麼不將「選擇」選項設置爲默認設置時?

+0

您需要在重定向用戶之前在某處保留鏈接狀態。在一個cookie,localStorage,散列或其他東西。然後,當他們回到頁面,相應地設置href – CodingIntrigue

+0

我想這是一種方式,但我可以用一種實用的方式嗎? –

回答

0

您有選擇的值,而不是選項的值。 要捕捉選項值,請執行以下操作:

var a = document.getElementById("first-disabled"); 
var e = a.options[a.selectedIndex].value; 

if(e == 1001){ 
    document.getElementById("link").href="1001.html"; 
}; 

if(e == 1002){ 
    document.getElementById("link").href="1002.html"; 
}; 
+0

我猜這個代碼不會工作,因爲當我點擊「返回」選項選擇欄不會調用enableLink函數,所以它不會改變任何東西。 –