簡體   English   中英

onclick重定向到其他網址

[英]onclick redirect to different url

我正在創建一個下拉菜單,將用戶推送到選定的網址。 在列表中,我有幾個設置為0的值,用於列表中的標頭。 我將它們設置為0,所以它們什么也不做。

這適用於列表中第一個值為0的列表,但其他確實為0的列表仍會將瀏覽器重定向到具有相同域和/ 0結尾的新網站嗎? 我想念什么?

<select onchange="if (this.selectedIndex > 0) document.location.href=this.value;">
<option value="0" selected="selected">More...</option>
<option value="0">----- Locations  -----</option>
<option value="http://www.location1.com/">location1</option>
<option value="http://www.location2.com/">location2</option>
<option value="http://www.location3.com/">location3</option>
<option value="0">----- Other Locations  -----</option>
<option value="http://www.olocation1.com/">olocation1</option>
<option value="http://www.olocation2.com/">olocation2</option>
<option value="http://www.olocation3.com/">olocation3</option>
</select>

將您的代碼更改為:

<select onchange="if (this[this.selectedIndex].value !== '0') document.location.href=this.value;">
<option value="0" selected="selected">More...</option>
<option value="0">----- Locations  -----</option>
<option value="http://www.location1.com/">location1</option>
<option value="http://www.location2.com/">location2</option>
<option value="http://www.location3.com/">location3</option>
<option value="0">----- Other Locations  -----</option>
<option value="http://www.olocation1.com/">olocation1</option>
<option value="http://www.olocation2.com/">olocation2</option>
<option value="http://www.olocation3.com/">olocation3</option>
</select>​

演示: http : //jsfiddle.net/pratik136/kWHXX/

為什么?

您的代碼:

onchange="if (this.selectedIndex > 0) document.location.href=this.value;"

正在檢查列表中所選optionindex 現在,因為列表索引從0開始,所以當選擇第一個(或 0 索引)項目時,您將獲得預期的結果。 但是所有其他項目都通過了selectedIndex > 0測試,並被重定向。

使用

onchange="if (this[this.selectedIndex].value !== '0') document.location.href=this.value;"

基本上檢查的value所選擇的index ,並且如果該value !== '0' ,它重定向到它。

您正在將它們重定向到URL 0 ,它被解釋為/0 你可能需要做一個檢查,以確保該值不為"0" ,通過使用類似this.value !== "0"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM