在jQuery中,如何在選擇時讓瀏覽器導航到選定的飲料?
<select name="selDrink" id="selDrink">
<option value="http://coke.com">Coke</option>
<option value="http://pepsi.com">Pepsi</option>
</select>
在jQuery中,如何在選擇時讓瀏覽器導航到選定的飲料?
<select name="selDrink" id="selDrink">
<option value="http://coke.com">Coke</option>
<option value="http://pepsi.com">Pepsi</option>
</select>
//select the element and bind a `change` event handler to it
$('#selDrink').on('change', function() {
//redirect the user to the value of the select element
window.location = this.value;
});
你可能會想在頂部有一個空白<option>
因此所有<option>
s的實際value
旨意可選:
HTML -
<select name="selDrink" id="selDrink">
<option value="">Choose One</option>
<option value="http://coke.com">Coke</option>
<option value="http://pepsi.com">Pepsi</option>
</select>
JS -
$('#selDrink').on('change', function() {
//check if the selected value of this element is blank, if not then redirect to the value
if (this.value != '') {
window.location = this.value;
}
});
請注意,.on()
是jQuery 1.7中的新增功能,在這種情況下正在使用,如.bind()
。
這裏是一個演示:http://jsfiddle.net/Duanx/
文檔爲window.location
:https://developer.mozilla.org/en/DOM/window.location
$("#selDrink").change(function() {
window.location.href = $(this).val();
});
<select name="selDrink" id="selDrink">
<option>Select a Drink</option>
<option value="http://coke.com">Coke</option>
<option value="http://pepsi.com">Pepsi</option>
</select>
<script>
$('#selDrink').change(function navigate() {
window.location.href = $(this).val();
});
</script>
$(function(){
$('#selDrink').change(function(){
window.location.href = $(this).val();
});
});
你爲什麼用'上('改變...'而不僅僅是'的變化( )'? – 2012-02-02 19:16:46
我更喜歡這個語法,尤其是因爲刪除了使用'.off()'的事件處理函數,我更喜歡這個語法的另一個原因是因爲'.change(function(){})之間的含糊性'一個d'.change()'。我也使用'.trigger('click')'而不是'.click()'。 – Jasper 2012-02-02 19:19:14