2014-04-09 2 views
1

У меня есть простой выпадающий список с scrollto jQuery onchange (он приводит вас к определенному месту на веб-сайте). Если щелкнуть один конкретный выбор из списка, я хочу вызвать функцию изменения в jQuery, которая покажет скрытый элемент div (и спрячет его снова, когда будет сделан другой выбор). Мне удается заставить их работать отдельно, но не вместе. Возможно ли, чтобы обе функции работали в одном выпадающем списке? Я совершенно новичок в этом.Как вызвать 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

I initiallly сказал: разложите действия на две функции и вызовите функции из вашего onchange на основе выбора выпадающего списка - но вам действительно даже не нужно это делать, если вы не будете повторно использовать их, просто включить, если заявление в вашем OnChange для выполнения требуемого действия:

$(document).ready(function(){ 
    $("#dropdownlist").on('change',function(){ 
     if ($(this).val() == "three") { 
      $(".box").hide(); 
      $(".three").show(); 
     } else { 
      var project = "#" + $(this).val(); 
      $.scrollTo($(project), 1100); 
     } 
    }); 
}); 
Смежные вопросы