У меня есть страница продукта woocommerce — вот ссылка — http://icestartup.com/testsites/ujsnkfvs22/wordpress/product/2-door-wardrobe/
Это страница продукта woocommerce.
На этой странице я пытаюсь скрыть и показать тег div, когда я изменяю меню выбора под названием «Выбери свой ламинат».
Вот код, который я использовал. Обратите внимание, что «выбери свой ламинат» — это идентификатор тега выбора.
<script type="text/javascript">
$(document).ready(function(){
$("#pick-your-laminate").change(function(){
if($(this).children("option").attr(":selected")=="Plain Laminate"){
$(".box").not(".plain").hide();
$(".plain").show();
}
if($(this).children("option").attr(":selected")=="Digital Laminate"){
$(".box").not(".digital").hide();
$(".digital").show();
}
});
});
</script>
Это не сработало. Я имею в виду, что вообще ничего не произошло, когда я изменил параметры меню выбора. Поэтому я сделал код более простым и подумал, что при изменении выпадающего меню я буду отображать окно с предупреждением. Вот новый код -
<script type="text/javascript">
$(document).ready(function(){
$("#pick-your-laminate").change(function(){
alert( "Handler for .change() called." );
});
});
</script>
Все равно НИЧЕГО НЕ ПРОИЗОШЛО.
Что здесь происходит? Ребята, вы можете найти проблему?
Вы можете убедиться, проверив веб-страницу, на которой размещен код, это будет слишком хорошо.
jQuery(document).ready(function($) {...
- person adeneo   schedule 25.06.2016$("#id").val()
, и это то, что следует использовать. В этом вопросе это потому, что у параметров нет атрибутаvalue
. - person Spencer Wieczorek   schedule 25.06.2016console.log($.fn.jquery)
показывает правильную версию jQuery, поэтому она загружена и активна - person mplungjan   schedule 25.06.2016.val()
нельзя использовать наselect
. Создание дубликата делает то же предположение и дезинформирует пользователей. - person Spencer Wieczorek   schedule 25.06.2016$('select').change...
и все еще не вызывает предупреждение. - person adeneo   schedule 25.06.2016setTimeout(function() { $("#height").on("change",function(){console.log("yes")}) },3000)
- person mplungjan   schedule 25.06.2016$('#mySelect').val()
- это стандартный способ получить значение выбранного элемента в jQuery. Похоже, вы пытаетесь получить элемент с атрибутомselected
. Так как в нем должно быть<option ... selected ... >
, хотя этот код все равно не будет работать даже в этом случае. Метод.attr()
обращается только к первому элементу и при этом не поддерживает получениеselected
. Вместо этого вы хотели бы сделать:$('#mySelect').children("option:selected").val()
, но опять же было бы лучше просто сделать$('#mySelect').val()
. - person Spencer Wieczorek   schedule 26.06.2016