[英]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;"
正在檢查列表中所選option
的index
。 現在,因為列表索引從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.