2014-04-09 74 views
1

我有一個簡單的scrolldown jQuery onchange下拉列表(它將您帶到網站上的特定位置)。如果點擊列表中的某個特定選擇,我想在jQuery中調用一個更改函數,該函數將顯示一個隱藏的div元素(並且在其他選擇之後再次隱藏它)。我設法讓他們分開工作,但不能在一起工作。兩個函數可以在同一個下拉列表中工作嗎?我對此很新。如何在更改dropdownlist時調用2個jQuery函數?

我的代碼部分如下:

<select id="dropdownlist"> 
<option value="one">Scroll to place 1</option> 
<option value="two">Scroll to place 2</option> 
<option value="three">Show hidden div</option> 
</select> 

scollto jQuery的:

<script> 
$(document).ready(function(){ 
$("#dropdownlist").on('change',function(){ 
var project = "#" + $(this).val(); 
$.scrollTo($(project), 1100); 
}); 
}); 
</script> 

顯示/隱藏的jQuery(在這個例子看出:http://www.tutorialrepublic.com/codelab.php?topic=faq&file=jquery-show-hide-div-using-selectbox):

<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("select").change(function(){ 
$("select option:selected").each(function(){ 
if($(this).attr("value")=="three"){ 
$(".box").hide(); 
$(".three").show(); 
} 
}); 
}).change(); 
}); 
</script> 

CSS:

.box { display: none; } 
.three{ background: #FFF; } 

預先感謝您一起思考!

+1

打破行動分爲兩個功能,在你的'onchange'調用一個或根據選擇其他'.VAL()'。 – Goose

+0

謝謝鵝的答覆。聽起來合乎邏輯,但這正是我剛剛接觸jQuery時遇到的問題(以前從未使用過)。你能爲我寫出來嗎? – Kaleid0sk0p

回答

1

我最初說:將動作分解爲兩個函數,並根據下拉列表的選擇從onchange中調用函數 - 但如果不重用它們,您甚至不需要這樣做,只是有一個if語句在平變化來完成所需的操作:

$(document).ready(function(){ 
    $("#dropdownlist").on('change',function(){ 
     if ($(this).val() == "three") { 
      $(".box").hide(); 
      $(".three").show(); 
     } else { 
      var project = "#" + $(this).val(); 
      $.scrollTo($(project), 1100); 
     } 
    }); 
}); 
相關問題