2011-03-13 44 views
2

我有一個select元素作爲下拉菜單。每個選項的值都是一個URL。jQuery下拉列表 - 按照URL onchange

我需要它,以便每次選擇任何選項時,頁面都會將該選項的值作爲URL。

這是我到目前爲止,但我不知道如果我在正確的軌道上:

$('userNav').change(function() { 
     window.location.replace("http://" something with concatenation); 
    }); 

任何幫助嗎?

+2

請使用更多的自我解釋的標題爲您的問題。 – meo 2011-03-13 14:47:13

回答

7
$('#userNav').change(function() { 
    window.location = $(this).val(); 
}); 

在線演示:http://jsfiddle.net/amosrivera/Cg2yv/

+3

不需要將'this'包裝在jQuery對象中。 'this.value'也可以。 – 2011-03-13 14:27:42

+0

正確的感謝,我只是想要有一致性,如果我使用jQuery,只要不影響性能,就用jQuery語法。 – amosrivera 2011-03-13 14:35:24

0

試試這個代碼及其工作GRT ..

<html> 
 
<head> 
 
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<script> 
 
$(function() { 
 

 
    $("#submit").hide(); 
 

 
    $("#page-changer select").change(function() { 
 
     window.location = $("#page-changer select option:selected").val(); 
 
    }) 
 

 
}); 
 
</script> 
 
</head> 
 
<body> 
 
<?php 
 
\t if (isset($_POST['nav'])) { 
 
\t \t header("Location: $_POST[nav]"); 
 
\t } 
 
?> 
 
<form id="page-changer" action="" method="post"> 
 
    <select name="nav"> 
 
     <option value="">Go to page...</option> 
 
     <option value="http://css-tricks.com/">CSS-Tricks</option> 
 
     <option value="http://digwp.com/">Digging Into WordPress</option> 
 
     <option value="http://quotesondesign.com/">Quotes on Design</option> 
 
    </select> 
 
    <input type="submit" value="Go" id="submit" /> 
 
</form> 
 
</body> 
 
</html>