покажите/скройте отделение на основе избранной опции jQuery

Вот мой код. Почему это не работает?

<Script> 
   $('#colorselector').change(function() {
        $('.colors').hide();
        $('#' + $(this).val()).show();
 });
</Script>
<Select id="colorselector">
   <option value="red">Red</option>
   <option value="yellow">Yellow</option>
   <option value="blue">Blue</option>
</Select>
<div id="red" class="colors" style="display:none"> .... </div>
<div id="yellow" class="colors" style="display:none"> ... </div>
<div id="blue" class="colors" style="display:none"> ... </div>
24
задан rtruszk 12 December 2014 в 16:55
поделиться

2 ответа

Вы запускаете код до загрузки DOM.

Попробуйте следующее:

Живой пример:

http://jsfiddle.net/FvMYz/

$(function() {    // Makes sure the code contained doesn't run until
                  //     all the DOM elements have loaded

    $('#colorselector').change(function(){
        $('.colors').hide();
        $('#' + $(this).val()).show();
    });

});
75
ответ дан 28 November 2019 в 22:17
поделиться

Вам не хватает : selected в селекторе для show () - см. документацию jQuery для примера того, как это использовать.

В вашем случае это, вероятно, будет выглядеть примерно так:

$('#'+$('#colorselector option:selected').val()).show();
1
ответ дан 28 November 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: